如何将python类属性设置为类定义中先前定义的另一个类属性的值?

如何将python类属性设置为类定义中先前定义的另一个类属性的值?,python,oop,class,Python,Oop,Class,我正在定义一个python类,并希望声明一组类属性,然后在初始化也将存储为类属性的列表时使用这些属性 class SampleClass( models.Model ): #---------------------------------------------------------------------- # Class attributes #-----------------------------------------------------------

我正在定义一个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\u name\u ID

这不起作用(它破坏了类定义)

添加如下列表项:

FIELD_NAME_LIST.append( "ID" ) # = "ID"
很好


在python中初始化另一个类属性时,有没有一种方法可以使用一个类属性?

类主体将作为函数执行,本地名称空间条目将成为类属性。因此,在执行类主体时,可以将其他名称视为局部变量:

FIELD_NAME_ID = "ID"
FIELD_NAME_USER = "User"

FIELD_NAME_LIST = [FIELD_NAME_ID, FIELD_NAME_USER]
自从您成功调用
字段\u NAME\u LIST.append(“ID”)
以来,您已经发现了这一点