我将跳过我告诉你我如何测试我的代码并直接跳到问题的部分。
Python 似乎在将 unicode 字符串拆分为 if 语句中的另一个内联 unicode 字符串时遇到了一些问题。
>>>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 !
如果我将“不是”更改为!= 代码工作正常!
有谁知道为什么“是”导致比较失败?