重複の可能性:
Python '==' と 'is' で文字列を比較すると、'is' が失敗することがあります。なぜですか?
コードをどのようにテストしたかを説明する部分はスキップして、問題に直接ジャンプします。
Python では、if ステートメントでユニコード文字列を別のインライン ユニコード文字列に分割する際に問題が発生しているようです。
>>>zone = u'domain.com.'
>>>zone[-1:]
u'.'
>>>u'.' is u'.' #works fine
True
>>> z[-1:] == u'.' #works fine
True
>>> zone[-1:] is u'.' # FAILS !
False
ここに私の実際のコードスニペットがあります
>>>if zone[-1:] is not u'.':
>>> #this line will always run !
「ではない」を != に変更すると、コードは正常に動作します!
「が」原因で比較が失敗した理由を誰かが知っていますか?