Python中的Truthy和Falsy是什么? 它与True和False有什么不同?

我刚刚才知道python中有TruthyFalsy的值,与正常的TrueFalse

有人可以请深入解释真相谬误的价值是什么?

我应该在哪里使用它们?

真理True值, False False值有什么区别

正如所描述的注释,它只是指被评估为True或False的值。

例如,要查看一个列表是不是空的,而不是像这样检查:

 if len(my_list) != 0: print "Not empty!" 

你可以简单地做到这一点:

 if my_list: print "Not empty!" 

这是因为某些值(如空列表)在评估布尔值时被视为False。 非空列表为真。

类似地,对于整数0,对于真,为空的string“”等等,对于假和非零整数,非空string等等。

像“truthy”和“falsy”这样的术语的概念只是指在上述情况下被认为是真的那些值,以及被认为是False的那些值。

例如,空列表( [] )被认为是“虚假”,而非空列表(例如[1] )被认为是“真实”。

另见文档的这一部分 。

所有的值都被认为是“真实的”,除了下面这些是“虚假的”:

  • None
  • False
  • 0
  • 0.0
  • 0j
  • []
  • {}
  • ()
  • ''
  • set()
  • 对象
    • obj.__bool__()返回False
    • obj.__len__()返回0

“truthy”值将满足ifwhile语句执行的检查。 我们用“truthy”和“falsy”来区分boolTrueFalse