Python 什么时候自我陈述是正确的,什么时候是错误的?

Python 什么时候自我陈述是正确的,什么时候是错误的?,python,if-statement,self,Python,If Statement,Self,如果self.cards出现这种情况,有人能解释一下吗?什么时候是真的,什么时候是假的 def __init__(self): self.cards = [] def __str__(self): if self.cards: rep = "" for card in self.cards: rep += str(card) + " " else: rep = "<empty>"

如果self.cards出现这种情况,有人能解释一下吗?什么时候是真的,什么时候是假的

def __init__(self):
    self.cards = []

def __str__(self):
    if self.cards:
        rep = ""
        for card in self.cards:
            rep += str(card) + " "
    else:
        rep = "<empty>"
    return rep
def\uuuu初始化(自):
self.cards=[]
定义(自我):
如果是自助卡:
rep=“”
对于self.cards中的卡:
代表+=str(卡)+“
其他:
rep=“”
退货代表

首先,您可能应该告诉我们首次使用自助卡的时间。

假设它是某种容器(
list
set
dict
),如果其中有元素,则为true;如果为空,则为false。

任何对象都可以在Python中测试真值。以下值被认为是错误的:

没有

假的

任何数字类型的零,例如,
0
0L
0.0
0j

任何空序列,例如,
'
()
[]

任何空映射,例如,
{}

用户定义类的实例,如果该类定义了一个
\uuuu非零\uuuuuuuuuu()
\uuuuuuu len\uuuuuuuuu()
方法,则该方法返回整数零或布尔值
False

所有其他值都被认为是真的-因此许多类型的对象总是真的


在这种情况下,卡片是空的,因为它是一个列表,所以卡片是
False
。当对象被创建时,
\uuuu init\uuu()
创建卡片空列表,这样当对象被创建时,if语句的条件总是
False

检查这个
self。卡片
可能是封闭类的成员列表。条件
if self.cards
检查所述列表是否至少有一个元素,在这种情况下,它迭代每个卡片并将其字符串表示添加到最终结果中。它是列表。谢谢,我现在明白了。它是list,首次在init中使用