2024-09-28 20:44:59 发布
网友
我刚刚才知道,python中有Truthy和Falsy值,它们不同于普通的True和False?
True
False
有人能深入解释一下什么是truthy和falsy值吗?
我应该在哪里使用它们?
truthy和True值与falsy和False值之间有什么区别?
如注释所述,它只是指被计算为True或False的值。
例如,要查看列表是否不为空,请不要这样检查:
if len(my_list) != 0: print("Not empty!")
您只需执行以下操作:
if my_list: print("Not empty!")
这是因为当对布尔值求值时,某些值(如空列表)被视为False。非空列表为真。
类似地,对于整数0、空字符串“”等等,对于False,对于非零整数、非空字符串等等,对于True。
像“truthy”和“falsy”这样的术语只是指那些在上述情况下被认为是正确的价值观,以及那些被认为是错误的价值观。
例如,空列表([])被视为“falsy”,而非空列表(例如,[1])被视为“truthy”。
[]
[1]
另请参见this section of the documentation。
Truthy值指的是在布尔上下文中使用的对象,而不是返回true或false的布尔值
>>> bool([]) False >>> bool([1]) True >>> bool('') False >>> bool('hello') True
所有的价值观都被视为“真理”,除了以下“错误的”价值观:
None
0
0.0
0j
Decimal(0)
Fraction(0, 1)
list
{}
dict
()
tuple
''
str
b''
bytes
set()
set
range
range(0)
obj.__bool__()
obj.__len__()
“truthy”值将满足由if或while语句执行的检查。我们使用“truthy”和“falsy”来区分bool值True和False。
if
while
bool
Truth Value Testing
如注释所述,它只是指被计算为True或False的值。
例如,要查看列表是否不为空,请不要这样检查:
您只需执行以下操作:
这是因为当对布尔值求值时,某些值(如空列表)被视为False。非空列表为真。
类似地,对于整数0、空字符串“”等等,对于False,对于非零整数、非空字符串等等,对于True。
像“truthy”和“falsy”这样的术语只是指那些在上述情况下被认为是正确的价值观,以及那些被认为是错误的价值观。
例如,空列表(
[]
)被视为“falsy”,而非空列表(例如,[1]
)被视为“truthy”。另请参见this section of the documentation。
Truthy值指的是在布尔上下文中使用的对象,而不是返回true或false的布尔值
所有的价值观都被视为“真理”,除了以下“错误的”价值观:
None
False
0
0.0
0j
Decimal(0)
Fraction(0, 1)
[]
-空的list
{}
-空的dict
()
-空的tuple
''
-空的str
b''
-空的bytes
set()
-空的set
range
,就像range(0)
obj.__bool__()
返回False
obj.__len__()
返回0
“truthy”值将满足由
if
或while
语句执行的检查。我们使用“truthy”和“falsy”来区分bool
值True
和False
。Truth Value Testing
相关问题 更多 >
编程相关推荐