Python-什么是真实和虚假?它与对与错有什么不同?
我刚刚才知道有Truthy
和Falsy
值在Python
这是从正常的不同True
和False
?
有人可以深入解释什么是真实和虚假的价值观吗?
我应该在哪里使用它们?
是什么区别truthy
和True
值和falsy
和False
价值观?
-
如评论所述,它仅指评估为True或False的值。
例如,查看列表是否不为空,而不是像这样检查:
if len(my_list) != 0: print("Not empty!")
您可以简单地做到这一点:
if my_list: print("Not empty!")
这是因为在评估布尔值时,某些值(例如空列表)被视为False。非空列表为True。
类似地,对于整数
0
,对于False
,空字符串“”,依此类推;对于True,对于非零整数,非空字符串,依此类推。像“真实的”和“虚假的”这样的术语的概念仅是指在上述情况下被认为是True的那些值,以及被认为是
False
的那些值。例如,一个空列表
([])
被视为“虚假”,而一个非空列表(例如[1]
)被视为“真实”。 -
除以下值
falsy
外,所有值均被视为"truthy"
值:- None
- False
- 0
- 0.0
- 0j
- Decimal(0)
- Fraction(0, 1)
- [] - an empty list
- {} - an empty dict
- () - an empty tuple
- ’‘ - an empty str
- b’‘ - an empty bytes
- set() - an empty set
- an empty range, like range(0)
- objects for which
- obj.bool() returns False
- obj.len() returns 0
“真实的”值将满足由
if
或while
语句执行的检查。我们使用"truthy" and "falsy"
来区别bool
值True
andFalse
。