比如說
a=[1,2,3]
b=[1,2,3]
a == b # True
a is b # False
通常我在寫程式的時候,如果比較的對象是None, True, False時,我會習慣用is operator,但是最近發現這種寫法在True, False時不一定能成功,讓我非常的驚訝,即我的程式中出現以下情況:
a=func(...) # a is False
if a is False:
# do something
在 a is False這一行竟然結果為False而非True,必須將判斷式改為a==False才會為True。