也許是一個新手問題!返回控制檯對象的屬性
- 我有2個班 - 卡和手
- 卡與屬性:西裝,排名
- 手是由卡追加空單創建。所以它的屬性 是卡。
我需要在控制檯中寫類似:
Ace D , Queen H
我在谷歌,我需要認真糾正__str__(self)
方法發現。 我不知道如何在方法__str__(self)
寫東西,我的輸出將像我上面提到的。例如:
return self.hand
執行以下操作:
[<__main__.Card object>, <__main__.Card object>]
我認爲手對象是這樣類型的列表:
[[卡1],[卡2], ..
是
[西裝1,等級1],[..,..],..]
但我不知道如何利用從名單列表信息。 這樣的寫沒有幫助:手[i] [0]爲西裝和手[i] [1]爲第i張牌 仍然沒有得到。這裏是代碼:
class Card:
def __init__(self, suit, rank):
if (suit in SUITS) and (rank in RANKS):
self.suit = suit
self.rank = rank
else:
print "Invalid card: ", suit, rank
def __str__(self):
return self.suit + self.rank
class Hand:
def __init__(self):
self.hand = []
def __str__(self):
return str(self.hand)
def add_card(self, card):
self.hand.append(card)
創建對象牌
c1 = Card("S", "A")
c2 = Card("C", "2")
創建對象HAND
test_hand = Hand()
添加卡片,隨手
test_hand.add_card(c1)
test_hand.add_card(c2)
print test_hand
結果:
[<__main__.Card object>, <__main__.Card object>]
謝謝!我還有一個問題。我不確定,如果我正在制定我的問題,請糾正我:這是唯一一種從Hand類中收集有關我的Class實例(對象c1,c2)的信息的方法嗎?例如,如果我想在Hand類的方法中使用Card的變量。 – Ievgenii