【发布时间】:2017-03-26 05:00:35
【问题描述】:
我知道在 Python Shell 中,当你输入 >>> object 时,它会显示 object.__repr__ 方法,如果你输入 >>> print(object),它会显示 object.__str__ 方法。
但我的问题是,在执行 Python 文件时是否有一种简短的方法可以打印 __repr__?
我的意思是,在 file.py 中,如果我使用 print(object),它会显示 object.__str__,如果我只输入 object,它什么也不会显示。
我尝试过使用print(object.__repr__),但它会打印出<bound method object.__repr__ of reprReturnValue>
或者这是不可能的?
【问题讨论】:
-
您需要使用
()实际调用该方法,例如object.__repr__()。目前您只是指方法本身。更合适的调用是使用repr()内置函数,例如repr(object()). -
@AChampion 不起作用。每个人都在没有测试的情况下不断提出这个建议。
-
@AlexHall,不知道你为什么认为这是不正确的。
class X(object): def __repr__(self): return 'Hello'; X().__repr__()与repr(X())一样输出预期结果。 -
@AChampion 我以为 OP 的意思是
object的实际含义,而不是他用实例掩盖了这个名字。 -
啊,我认为这是一些通用引用,因为如果您在解释器中键入
object,基本的object类型会打印一些东西。而object.__repr__不会是绑定方法。
标签: python shell magic-methods repr