私は、特定のクラスインスタンスのメソッドを指す変数を持っています。 メソッドget
を実装するClient
というクラスがあります。 にはclient
という単一インスタンスが作成され、クライアントのget
には変数get_func
が割り当てられます。Pythonインスタンスメソッドがクラスによって提供されたものと同じ関数であるかどうかをテストします。
例えば、私は以下の単純化されたコードを持っていると仮定することができます:
class Client:
def get(self):
print("This is the get function!")
client = Client()
get_func = client.get
私はget_func
をほとんど実際の制御を持っており、それが使われているか、私はそれを変更することはできません。
ここでget_func
にClient.get
が含まれていることを確認します。
get_func
は、特定のClient
インスタンスのバインドされたメソッドであるため、簡単なテストget_func == Client.get
は機能しません。 (唯一の私はそれを行う方法を知っていたならば、しかし限定法のself
を取得する方法は有効なオプションです)
'get_func .__ func__ is Client.get'を試してください。 – vaultah