これは学術的な問題であり、実用的な問題ではありません。私は Python の基礎を掘り下げようとしていますが、疑問に思います:必要に応じて、純粋な Python でstaticmethod
およびclassmethod
デコレータを実装できますか?
おそらく、staticmethod
元の関数への参照を保持し、最初の引数を省略して呼び出すことができますか?
おそらく、classmethod
元の関数への参照を保持し、引数自体ではなく、最初の引数の型を渡して呼び出すことができますか? (クラスで直接呼び出された場合、どのように処理しますか?)
繰り返しますが、実際にプログラムに実装したいわけではありません。そこから言語がどのように機能するかを学びたいです。可能であれば、コードサンプルをいただければ幸いです。そうでない場合は、理論的にできない理由を説明していただければ幸いです。ありがとう!
編集:回答と記述子プロトコルへの参照をありがとう!Python の理解を深めるために、さらに 2 つの質問をしたいと思います。
これは、記述子プロトコルなしで、たとえばクラスに __ call __ 特殊メソッドを実装することによって実行できますか?
記述子プロトコルは、Python 2.7 と Python 3.x で同じように機能しますか?
再度、感謝します!