我有一个类,将csv文件的列布局指定为:
class RecordLayout(object):
YEAR = 0
DATE = 1
MONTH = 2
ID = 3
AGE = 4
SALARY = 5
我需要按定义顺序获得类变量的列表。
到目前为止,我尝试了:
[attr for attr in dir(RecordLayout()) if not callable(attr) and not attr.startswith("__")]
但它返回:
['AGE', 'DATE', 'ID', 'MONTH', 'SALARY', 'YEAR']
这是按字母顺序排列的类变量。我需要按在类中定义的顺序返回变量:
['YEAR', 'DATE', 'MONTH', 'ID', 'AGE', 'SALARY']
有没有办法做到这一点?
最佳答案
您应该为此使用Enum。
>>> class RecordLayout(Enum):
... YEAR = 0
... DATE = 1
... MONTH = 2
... ID = 3
... AGE = 4
... SALARY = 5
...
>>> for i in RecordLayout:
... print(i)
...
RecordLayout.YEAR
RecordLayout.DATE
RecordLayout.MONTH
RecordLayout.ID
RecordLayout.AGE
RecordLayout.SALARY
关于python - 如何按定义顺序获取类变量列表?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38399078/