2012-04-22 7 views
0

Pythonでは、同じクラス内の他のクラス変数のクラス変数を扱うことは可能ですか?Python:クラス内の他のクラス変数からクラス変数へのアクセス - 可能ですか?

私の問題は、次のとおりです。私はそれは次のようになり、いくつかの静的コードを準備しようとしています:

class MyBaseObject: 
    SIGNAL_NAME_1 = "signal-name-1" 
    SIGNAL_NAME_2 = "signal-name-2" 

    ALL_SIGNALS = { 
    SIGNAL_NAME_1: (signal-definition), 
    SIGNAL_NAME_2: (signal-definition) } 

上記と私の問題は、Python SIGNAL_NAME_1_2に応じて辞書を作成中に定義されていない、ということです。 MyBaseObject.SIGNAL_NAME_1でアクセスすることもできません(不明なオブジェクト)。

質問があります - それは、クラス変数を互いに参照することは可能ですか?

ありがとうございました!

答えて

1

いいえ、名前を使用するだけで他のクラス変数を参照しても問題ありません。ただし、MyBaseObjectは、クラス定義が完了するまで定義されていないため、参照することはできません。

あなたが投稿したコードはうまくいきます(signaldefinitionが定義されている場合)。名前が定義されていないという苦情を受けた場合は、使用したコードを投稿していないことを意味します。正確なコードと正確で完全なエラーメッセージを投稿してみてください。

+0

ああ、あなたはまったく正しい!私はエラーが続いていましたが、明らかにそれらはクラス変数には関係していませんでしたが、私がその辞書に挿入したdocスニペットです。 Pythonは、エラーがSIGNAL_NAME_1にあることを伝え続けましたが、実際にはスニペットによって発生していました。ありがとうございました - 私はそれが可能ではないことをかなり確信していました... –

関連する問題