2

同じファイル内の別のクラスから関数を呼び出すにはどうすればよいですか。私のファイルは次のようになります。

class one:
    def get(self):
        return 1

class two:
    def init(self):
        get class one get()

クラス 2 内のクラス 1 の get 関数にアクセスしようとしています。

どんな助けでも大歓迎です。

4

2 に答える 2

6

One.get()静的メソッドに変換すると、直接呼び出すことができます。

class One:
    @staticmethod
    def get():
        return 1

class Two:
    def __init__(self):
        val = One.get()

がなければ、を呼び出せるようにするために@staticmethodのインスタンスが必要です:Oneget()

class One:
    def get(self):
        return 1

class Two:
    def __init__(self):
        one = One()
        val = one.get()
于 2013-03-03T08:09:42.990 に答える
3

NPEの答えは正しいものです。また、クラスを名前 (文字列値) で呼び出したい場合は、次の解決策を使用できます。

class_name_type = globals()['class_name']
class_object = class_name_type()
于 2013-03-03T08:55:30.010 に答える