Python中的"all"函数如何工作?

ᴀʀᴍ*_*ᴍᴀɴ 5 python python-3.x

all在Python中搜索了对该函数的理解,我发现了这个,根据这里:

allTrue只有当所有元素都是Truthy时才会返回.

但是当我使用这个函数时,它的表现不同:

'?' == True   # False
'!' == True   # False
all(['?','!']) # True
Run Code Online (Sandbox Code Playgroud)

为什么当输入中的所有元素都False返回时True?我误解了它的功能还是有解释?

L3v*_*han 9

只有当所有元素都是Truthy时.

Truthy!= True.

all本质上检查是否bool(something)True(所有something的迭代为s).

>>> "?" == True
False
>>> "?" == False # it's not False either
False
>>> bool("?")
True
Run Code Online (Sandbox Code Playgroud)