小编典典

为什么函数对象在python中评估为True?

python

在python中进行如下构造是有效的:

def a(): 
    return 0

if a: 
    print "Function object was considered True"
else:  
    print "Function object was considered False"

我想问一个函数指针被评估为True的逻辑是什么。

为什么在语言中插入这种构造?


阅读 301

收藏
2021-01-20

共1个答案

小编典典

True在Python中有很多评估结果。从关于布尔运算符文档中

在布尔运算的上下文中,以及当控制流语句使用表达式时,以下值将解释为false:False,,None所有类型的数字零以及空字符串和容器(包括字符串,元组,列表,字典,集合和Frozensets)。所有其他值均解释为true。

像很多东西一样,Python中的函数是 对象 ,而不是空的。因此,在布尔上下文中,它们的值为True。

2021-01-20