repr(super(class, thing))
与{我遇到了一些我觉得很奇怪的事情,如果有人能解释一下为什么这样做会很好。在
我的问题是关于repr
是如何工作的
class MyInt(int):
pass
one = MyInt(1)
sup = super(MyInt, one)
>>> repr(sup)
"<super: <class 'MyInt'>, <MyInt object>>"
同时
>>> sup.__repr__()
'1'
第二个是我期望从第一个得到的(是的,每种情况下引用的都是不同的)。为什么这些病例不同?我以为repr(x)
刚叫了x.__repr__
。在
据我所知,super
为超级类的方法提供了一个API,而不是超级类本身。所以在我看来,我的sup
有两个__repr__
方法,一个由repr
调用,另一个以__repr__
的名字命名。如果你能深入了解这里的情况,我会很感激的。在
目前没有回答
相关问题 更多 >
编程相关推荐