2017-06-29 7 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__ 

しかし、私はエラーを取得X.__bases__コマンドexcecuteとき:ある理由

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__を使用しています。

関連する問題