Python中的以下值在
if和其他逻辑上下文中为false :
False
None
- 数值等于0,如
0
,0.0
,-0.0
- 空字符串:
''
和u''
- 空容器(例如列表,元组和字典)
- 实现
__bool__
(在Python3中)False
或__nonzero__
(在Python2中)返回False
或的任何对象0
。 - 任何未实现
__bool__
(在Python3中)或__nonzero__
(在Python2中)但确实实现__len__
了返回等于0的值的东西
如果任何一个对象适用,则该对象被视为“ false”,否则为“ true”,无论该对象实际上与
False或等于还是相同。
True
现在,如果已经安排了
x必须是对象
True或对象之一
False,则可以放心地编写
ifx。如果您安排了“真实性”
x指示是否要执行该 *** 作(无论类型如何),那么可以放心地编写
if x。您可以在哪里写,应该更喜欢这样做,因为它更容易阅读。
通常,如果允许
x使用该值,
True那么您将处于两种情况之一,因此您将不会编写
if x isTrue。重要的是正确记录的含义
x,以使其反映代码中使用的测试。
希望Python程序员知道什么被认为是正确的,因此,如果您仅编写文档,“如果该函数
x为true,则运行该函数”,那么这表示原始代码的作用。对其进行记录,“如果…
xis True将运行功能”将具有不同的含义,并且由于PEP8中的样式规则要求测试真实性而不是特定值,因此不太常用
True。
但是,如果您希望代码在
x为空容器的情况下与在不同情况下的行为有所不同
None,则可以编写类似的代码
if x is not None。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)