私には4つのクラスがあり、そのうち3つは互いに継承しています。クラスDのオブジェクトdによって呼び出されたメソッド 'f'。クラスDに属するオブジェクトから呼び出されたメソッド 'f'を見つけるにはどうすればよいですか?
モジュール検査で検索しましたが、私のような初心者にとっては本当に混乱します。
class A:
def f(self, a, b):
return a + b
class B(A):
def g(self, a):
return a*10
class C(A):
def g(self, a):
return a**2
class D(C, B):
pass
########################
d = D()
print( d.f(3, 4) )
この追加のprintステートメントはまさにそれを行います:
class A:
def f(self, a, b):
print(f"f called from an instance of {self.__class__.__name__}")
# or:
# print(f"f called from an instance of {type(self)}")
return a + b
たとえば、次のように出力されます。
f called from an instance of D
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加