我刚刚才知道有Truthy和Falsy在Python这是与正常不同的价值观True
和False
?
是否有人可以深入解释什么truthy和falsy值?
我应该在哪里使用它们?
truthy和True
值以及falsy和False
值之间有什么区别?
发布于 2018-09-17 14:14:44
正如所描述的注释,它只是指被评估为True或False的值。
例如,要查看列表是否为空,而不是像这样检查:
if len(my_list) != 0:
print "Not empty!"
你可以这样做:
if my_list:
print "Not empty!"
这是因为在评估布尔值时,某些值(例如空列表)被视为False。非空列表为True。
类似地,对于整数0,空字符串“”等等,对于False,非零整数,非空字符串等等,对于True。
诸如“truthy”和“falsy”之类的术语的概念仅仅指那些在上述情况下被认为是真的值,以及被认为是假的那些值。
例如,空列表([]
)被认为是“假”,而非空列表(例如[1]
)被认为是“真实的”。
另请参阅文档的此部分。
发布于 2018-09-17 14:48:10
所有值都被认为是“真实的”,除了以下是“假的”:
None
False
0
0.0
0j
[]
- 一个空的 list
{}
- 一个空的 dict
()
- 一个空的 tuple
''
- 一个空的 str
b''
- 一个空的 bytes
set()
- 一个空的 set
obj.__bool__()
回报 False
obj.__len__()
回报 0
“truthy”值将满足由语句if
或while
语句执行的检查。我们使用“truthy”和“falsy”来区bool
分值True
和False
。
https://stackoverflow.com/questions/-100002648
复制相似问题