私はpythonクラスを定義しており、一連のクラス属性を宣言したいと考えています。次に、これらの属性を使用して、クラス属性としても保存されるリストを初期化します。
class SampleClass( models.Model ):
#----------------------------------------------------------------------
# Class attributes
#----------------------------------------------------------------------
# field names
FIELD_NAME_ID = "ID"
FIELD_NAME_USER = "User"
# Field name list
FIELD_NAME_LIST = []
FIELD_NAME_LIST.append( SampleClass.FIELD_NAME_ID ) # = "ID"
FIELD_NAME_LIST.append( SampleClass.FIELD_NAME_USER ) # = "User"
# rest of class definition
# ...
#-- END class SampleClass --#
これは、Java でクラス変数を定義し、それらを使用して後で定義された他のクラス変数を初期化することに似ています。
この例では、クラス名を使用してそれらを参照しようとしています。次に例を示します。SampleClass.FIELD_NAME_ID
これは機能しません (クラス定義が壊れます)。
次のようなリスト項目を追加します。
FIELD_NAME_LIST.append( "ID" ) # = "ID"
正常に動作します。
Pythonで別のクラス属性を初期化するときに、あるクラス属性を使用する方法はありますか?