0

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_1dict_2の作成中に定義されていないことです。それらへのアクセスMyBaseObject.SIGNAL_NAME_1も機能しません (不明なオブジェクト)。

質問は、python で相互に参照するクラス変数を持つことは可能ですか?

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

4

1 に答える 1

1

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

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

于 2012-04-22T11:57:54.427 に答える