[英]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 時向我們展示。
假設它是某種容器( list
, set
或dict
),如果其中有元素,則為真,如果為空,則為假。
任何對象都可以在 Python 中測試真值。 以下值被認為是錯誤的:
沒有任何
錯誤的
任何數字類型的零,例如0
、 0L
、 0.0
、 0j
。
任何空序列,例如''
、 ()
、 []
。
任何空映射,例如{}
。
用戶定義類的實例,如果該類定義了__nonzero__()
或__len__()
方法,則該方法返回整數零或布爾值False
。
所有其他值都被認為是真——所以許多類型的對象總是真。
在這種情況下,cards 為空時為False
,因為它是一個列表。 創建對象時, __init__()
創建卡片空列表,因此創建對象時 if 語句的條件始終為False
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.