我正在Coursera做一个迷你项目。 (Card
是另一个已在其他地方宣布的类。)
class Deck:
def __init__(self):
self.deck = []
for i in SUITS:
for j in RANKS:
self.deck.append(Card(str(i), str(j)))
def deal_card(self):
self.temp = random.randrange(0,52)
return(self.deck[self.temp])
def __str__(self):
#TODO
main()
test_deck = Deck()
c1 = test_deck.deal_card()
print test_deck
我理解列表self.deck
包含一个Card对象列表,任何人都可以告诉我如何在self.deck
中打印__str__
(此对象所指的)的值方法
答案 0 :(得分:3)
只需将其转换为字符串。
return str(self.deck)
答案 1 :(得分:0)
你也可以这样做:
def __str__(self):
return ','.join(str(x) for x in self.deck)
之后,套牌的每个Card实例都必须覆盖自己的str方法,以便格式化。
答案 2 :(得分:0)
Python Docs应告诉您如何使用
__str__
。
基本上当你这样做时:
print something
Python调用__str__
的{{1}}方法并将其写入输出。
根据我的猜测,你可能想要打印这个物体是甲板的事实。所以这样的事情可能就是你想要的:
something
由于你正在学习Python,我有很多建议: