繁体   English   中英

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

[英]When is self statement true and when is false?

如果 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 ),如果其中有元素,则为真,如果为空,则为假。

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

没有任何

错误的

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

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

任何空映射,例如{}

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

所有其他值都被认为是真——所以许多类型的对象总是真。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM