たとえば、a.py にはクラス A
があります。A にはいくつかのメソッドがあり、それらはすべてグローバル関数 hello() (クラスの外で定義されていますが、.py でも定義されています) を呼び出します。
サブクラス B を作成したいが、B が新しく定義された hello() を呼び出す必要があるとします。これは可能ですか?リーリー リーリー
挨拶は変更せず、次のような出力が必要です:
b = B()b.greeting()
'こんにちは'
漂亮男人2017-05-18 10:48:14
お誘いありがとうございます。
申し訳ありませんが、私はあなたのニーズをまだ完全に理解していないので、最初に理論的に答えます。質問者が何かを追加できれば、私の答えをさらに改善し、問題を解決できるコードを提供できます。
Python では、メソッドをクラスと論理的に組み合わせることができるかどうか。その後、このメソッドをクラスの静的メソッドとして使用できます。つまり、@staticmethod
で修飾することができます。
もしよろしければhello()
作为类A和类B的静态方法,那么在各自的类中用cls.hello()
就可以调用各自版本的hello
。
件名の説明によれば、カテゴリーBにhello()
,那么我想将其作为静态方法是没有问题的。如果有其他模块想要调用a.py
中的hello()
,可以直接使用A.hello()
が含まれています。
質問の要件を誤解している場合は修正してください。