python 为什么我的代码返回变量的地址而不是值?

wwtsj6pe  于 2022-11-28  发布在  Python
关注(0)|答案(2)|浏览(177)

我发现很难理解为什么我的代码返回我的内存地址。我已经尝试分别使用__str____repr__,但可能我不熟悉它们到底是如何工作的。
第一个
以上是我得到的代码和输出,任何帮助都将不胜感激。

uxhixvfz

uxhixvfz1#

看起来您忘记了为Card类定义__repr__方法。应该是这样的:

def __repr__(self):
        return f"Card({self.value})"

而对于套牌,我将其定义为:

def __repr__(self):
        return f'Deck("{self.cards}")'

所得到的输出将是Card(<some-number>)

6jjcrrmo

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}'

相关问题