【发布时间】:2019-05-22 20:15:37
【问题描述】:
如何创建可以打印的特殊方法__repr__,例如'6 of spades' 或'Q of diamonds'?
如何从namedtuple 访问数据,记住我在self._cards 中有namedtuples 中的list?
import collections
cards = collections.namedtuple('Card', ['rank', 'suit'])
class Deck:
ranks = [str(n) for n in range (2,11)] + list('JQKA')
suits = 'spades diamonds hearts clubs'.split()
def __init__(self):
self._cards = [cards(rank, suit) for suit in self.suits for rank in self.ranks]
def __len__(self):
return len(self._cards)
def __getitem__(self, item):
return self._cards[item]
def __repr__(self):
return '%s of %s' % () # <-- don't know how to assign the string
b = ()
for i in b:
print(i)
【问题讨论】:
标签: python python-3.x namedtuple repr