2015-11-18 9 views

答えて

16

各結合方法は

この方法は、結合されたインスタンス、または結合方法(約None

hereからコピー)

多い__self__属性を有していますData Model):

インスタンスを介してメソッド(クラスの名前空間で定義された関数) にアクセスすると、特殊なオブジェクト、つまりバインドされたメソッド(インスタンスメソッドとも呼ばれる )オブジェクトが取得されます。 ...バインド方法は二つの特別 を持っている読み取り専用属性:m.__self__はメソッド だからf.__self__はあなたのクラスのインスタンスを取得します...

を操作するオブジェクトです:

print(f.__self__) # <__main__.Foo object at 0x7f766efeee48> 

をと

print(type(f.__self__)) # <class '__main__.Foo'> 

あなただけを使用したい:type(f.__self__)またはf.__self__.__class__はあなたのタイプのオブジェクトを取得しますold-style classesの210。

+0

Nitpick:インスタンスの型は、必ずしも関数が定義されたクラスである必要はありません。メソッドがXインスタンスにバインドされているからといって、クラスYでその関数を定義できないわけではありません。しかし、このコードは実世界のシナリオの99.99%で正しい出力を生成します。そして、とにかくOPの期待される生産量がこのような0.01%のケースでどうなるかははっきりしない。 –

関連する問題