我发现很难理解为什么我的代码返回我的内存地址。我已经尝试分别使用__str__和__repr__,但可能我不熟悉它们到底是如何工作的。第一个以上是我得到的代码和输出,任何帮助都将不胜感激。
__str__
__repr__
uxhixvfz1#
看起来您忘记了为Card类定义__repr__方法。应该是这样的:
Card
def __repr__(self): return f"Card({self.value})"
而对于套牌,我将其定义为:
def __repr__(self): return f'Deck("{self.cards}")'
所得到的输出将是Card(<some-number>)。
Card(<some-number>)
6jjcrrmo2#
类Card需要__repr__函数,因为python试图打印Type Card的示例,而不是卡片组:
class Card: def __init__(self, suit, value): self.suit = suit # ['H','D','C','S'] self.value = value # ['A',2,3,4,5,6,7,8,9,10,'J','Q','K'] def __repr__(self): return f'{self.suit}-{self.value}'
2条答案
按热度按时间uxhixvfz1#
看起来您忘记了为
Card
类定义__repr__
方法。应该是这样的:而对于套牌,我将其定义为:
所得到的输出将是
Card(<some-number>)
。6jjcrrmo2#
类
Card
需要__repr__
函数,因为python试图打印Type Card的示例,而不是卡片组: