Python 什么时候自我陈述是正确的,什么时候是错误的?
如果self.cards出现这种情况,有人能解释一下吗?什么时候是真的,什么时候是假的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>"
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中使用