Python - 如何按定义的顺序将类变量存储到数组中[重复]

Posted

技术标签:

【中文标题】Python - 如何按定义的顺序将类变量存储到数组中[重复]【英文标题】:Python - How to store class variables to array in defined order [duplicate] 【发布时间】:2021-11-07 12:06:02 【问题描述】:

我有这个简单的 Python 代码

class Person:
 name = ""
 surname = ""
 age = ""

def __init__(self):
  arr = #I want something like this ['name', 'surname', 'age']

如何按我想要的 (['name', 'surname', 'age']) 排列这些变量?没有先用“self”“初始化”它们?谢谢。

编辑:我需要它们按照我定义它们的确切顺序,而不是字母顺序。

【问题讨论】:

您的用例是什么,为什么要这样做? 你可以使用vars(Person)来检查类的命名空间 【参考方案1】:

可能类似于下面的__dict__

class Person:
    name = ""
    surname = ""
    age = ""

    def __init__(self):
        arr = [attr for attr in Person.__dict__ if ('_' not in attr) & (not callable(getattr(Person, attr)))]
        print(arr)

Person()

输出:

['name', 'surname', 'age']

【讨论】:

以上是关于Python - 如何按定义的顺序将类变量存储到数组中[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何按定义的顺序编写 Java 属性?

Python 2.7 - 如何将类属性(指针?)分配给变量(需要它来创建 Oz-esque 数据流变量)

在python中如何按顺序输出ab中的所有整数

如何将类方法转换为两个模型之间的关系?

编写一个自定义函数,完成将3个字符按从小到大顺序输出

将类注入自定义存储库