之间有什么区别:
if foo is None: pass
Run Code Online (Sandbox Code Playgroud)
和
if foo == None: pass
Run Code Online (Sandbox Code Playgroud)
我在大多数Python代码(以及我自己编写的代码)中看到的约定是前者,但我最近遇到了使用后者的代码.None是NoneType的实例(也是唯一的实例,IIRC),所以没关系,对吧?它有什么可能的情况吗?
我喜欢对空变量使用is None测试,它非常灵活,简单且有用.它现在似乎停止了工作:
>"" is None
False
>[] is None
False
>{} is None
False
Run Code Online (Sandbox Code Playgroud)
这是怎么回事?
我在Debian/Sid i686 GNU/Linux上使用Python 2.6.6(r266:84292,2010年12月27日,00:02:40)[GCC 4.4.5].
编辑:来自Sven Marnach的使用bool("")的精彩提示.brb,关闭编辑一些代码......
python ×2