簡體   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