我想检查变量是否具有真值;在Python中做这样的工作有效地检查?或者是否有不同的惯例?
if not var:
return False
return var * 2
答案 0 :(得分:4)
如果变量为True
,您可以使用以下语法检查它是否为True
>>> x = True
>>> if x:
... print 'hey'
...
hey
要检查变量是否为False
,可以使用以下语法:
>>> x = False
>>> if not x:
... print 'hey'
...
hey
注意:在这些情况下无需使用bool()
功能
答案 1 :(得分:2)
!
不是Python中的否定; Python只使用常用布尔值的单词:
and
(不是&&
)
or
(不是||
)
not
(不是!
)
一般来说:
len
)None
是假的__bool__
方法
答案 2 :(得分:1)
最大的缺陷是Python中的许多东西都评估为布尔值。该文档包含(内置)类型如何tested for truth的完整列表。以下都评价为假。
为了让自己更轻松,请尝试将函数的返回类型限制为一种类型,并将异常情况表示为异常。
答案 3 :(得分:0)
关于你的例子的一个小提示。在某些情况下(与您的一样)进行if True
检查更简单,更短:
if var:
return var * 2
因为所有函数都在python中返回一个值。这对真值测试也很重要。如果方法或函数没有return
语句,则返回None
以上等同于
if var:
return var * 2
return None