如果有自己的卡片状况,有人可以解释吗?什么时候为True,什么时候为False?
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
答案 0 :(得分:1)
首先,您可能应该向我们展示首次使用self.cards的情况。
假设它是某种容器(list
,set
或dict
),则其中包含元素为true,如果为空则为false。
答案 1 :(得分:0)
可以在Python中测试任何对象的真值。以下值被认为是错误的:
没有
错误
任何数字类型的零,例如0
,0L
,0.0
,0j
。
任何空序列,例如''
,()
,[]
。
任何空映射,例如{}
。
用户定义类的实例,如果该类定义了__nonzero__()
或__len__()
方法,则该方法返回整数零或布尔值False
。
所有其他值都被视为true,因此许多类型的对象始终为true。
在这种情况下,卡为False
时为空,因为它是一个列表。创建对象时,__init__()
将创建卡的空列表,以便在创建对象时if语句的条件始终为False
。