最近クラスを作成しました。クラスが以下のように宣言されているとしましょう。Python:クラス自体の静的クラス属性
class MyClass(object):
def __init__(self, modifiers):
....
問題は、私はクラスの定数のインスタンスを作成したい、次のとおりです。
残念ながらclass MyClass(object):
def __init__(self, modifiers):
....
CONSTANT_MEMBER_1 = MyClass(my_modifiers)
CONSTANT_MEMBER_2 = MyClass(my_modifiers)
、Pythonはエラーで、私はそうすることはできません。
E NameError: global name 'MyClass' is not defined
この問題の解決策はありますか?
代わりに、呼び出されるたびに同じオブジェクトを返すクラスの「静的」メソッドを作成することもできます(たとえば、MyClass.CONSTANT_MEMBER_1()
)。しかし、私はまだMyClass.CONSTANT_MEMBER_1
を使ってアクセスしたいと思う。
ありがとうございました。
あなたはもう少しユースケースを説明できますか? 「静的な属性またはメソッド」はここでは具体的な意味がありますが、参照するには「静的なメンバー」を使用しているようです:「変更されないクラスのインスタンス」 – brianpck
@brianpckはい、クラスの "。編集されました。ありがとう。 – sokokaleb