2024-10-03 19:30:07 发布
网友
我喜欢对空变量使用is None测试,它非常灵活、简单和有用。它现在似乎已经停止工作了:
>"" is None False >[] is None False >{} is None False
怎么回事?在
我在Debian/sidi686gnu/Linux上使用python2.6.6(r266:842922010年12月27日,00:02:40)[gcc4.4.5]。在
编辑:来自svenmarnach关于使用bool(“”)的绝妙提示。brb,关闭以编辑一些代码。。。在
嗯。。。那根本没用。is测试实例标识——甚至{}为false。在
is
>>> {} is {} False
测试x is None测试x是否真的是None对象(也就是说,如果名称x引用了对象None)。您要找的是truth value testing:
x is None
x
None
if "": print "non-empty" else: print "empty"
if隐式地将条件转换为bool。也可以显式执行以下操作:
if
bool
只有None是None。我想你要找的是空的list,dict,和{}的布尔值
list
dict
例如:
>>> if "": ... print 'woo' ... else: ... print 'hoo' ... hoo
{}和[]相同
{}
[]
嗯。。。那根本没用。}为false。在
is
测试实例标识——甚至{测试
x is None
测试x
是否真的是None
对象(也就是说,如果名称x
引用了对象None
)。您要找的是truth value testing:
^{pr2}$if
隐式地将条件转换为bool
。也可以显式执行以下操作:只有}的布尔值
None
是None
。我想你要找的是空的list
,dict
,和{例如:
{}
和[]
相同相关问题 更多 >
编程相关推荐