2017-06-29 47 views
0

我已经在py35的py33书中实现了一个小代码。我想从一个给定的子类得到超级类的实例如下:__bases__不适用于Python 3.5?

class Super: 
    def hello(self): 
     self.data1 = 'spam' 

class Sub(Super): 
    def hola(self): 
     self.data2 = 'eggs' 

X = Sub() 
X.__dict__ 
X.__class__ 
X.__bases__ 

然而,当我excecute的X.__bases__命令我得到一个错误:

为什么
AttributeError: 'Sub' object has no attribute '__bases__' 

有人能向我解释这发生了,我怎么能(如果不是这样)获得给定类的超类的实例?

感谢大家:)

回答

1

可以从类,而不是实例得到它,请参阅documentation of __bases__

class.__bases__

The tuple of base classes of a class object.

等等,总之,用type(X).__bases__

相关问题