自我陈述什么时候是真的,什么时候是假的



如果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

首先,您可能应该向我们展示第一次使用self.cards的时间
假设它是某种容器(listsetdict(,如果其中有元素,则为true,如果为空,则为false。

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

错误

任何数字类型的零,例如00L0.00j

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

任何空映射,例如{}

用户定义类的实例,如果该类定义了__nonzero__()__len__()方法,则当该方法返回整数零或布尔值False时。

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

在这种情况下,当卡片为空时,卡片为False,因为它是一个列表。创建对象时,__init__()会创建卡片空列表,因此在创建对象时if语句的条件始终为False

最新更新