この質問に重複がある場合は、申し訳ありませんが、私はそれを見つけられませんでした。__getattribute__によって返されたPython呼び出しメソッド
私はこの単純なPythonのクラスを持っている:
class NothingSpecial:
@classmethod
def meth(cls):
print("hi!")
そして私はさまざまな方法でメソッドを取得しようとしている:
a = (object.__getattribute__(NothingSpecial, 'meth'))
b = (getattr(NothingSpecial, 'meth'))
私がしなければ質問は、次のとおりです。
b()
$hi!
はリターンですが、私はやるとき:
a()
TypeError: 'classmethod' object is not callable
どのように私はa
メソッドを実行することができますか?
どうしてあなたは 'object .__ getattribute__'を使用していますか?それは間違った '__getattribute__'です。 – user2357112
@ user2357112私はそれがどのように動作するか完全に理解しようとしているので、私はそれを使用しています –