如何在__init__中获取python类实例变量?

问题描述 投票:0回答:1

我想知道是否有办法获取init中的类实例变量。

我已经看到了一些验证我正在寻找的东西,除了我正在寻找一种方法来获取实例变量而不是类变量。链接主题:Looping over class variable's attributes in python

说我有一个类,如:

class Identity:
    table = "tb_identity"
    def __init__(self, id="", app_name="", app_code="", state="", criticality=""):
        self.id = id
        self.app_name = trigram_name
        self.app_code = trigram_irt
        self.state = state
        self.criticality = criticality

我希望能够得到一个实例变量名称列表,如:

["id","app_name","app_code","state","criticality"]

有这样的东西:

members = [getattr(Identity,attr) for attr in dir(Identity) if not attr.startswith("__")]

我只得到“tb_identity”而不是“桌子”。但这不是主要问题,我正在寻找类似的东西:

["id","app_name","app_code","state","criticality"]

有没有正确的方法在init中获取这些变量?

感谢您的时间。

编辑:没有实例化的任何方式这样做?

python class variables instance-variables attr
1个回答
0
投票

尝试

class Identity:
    table = "tb_identity"
    def __init__(self, id="", app_name="", app_code="", state="", criticality=""):
        self.id = id
        self.app_name = 'trigram_name'
        self.app_code = 'trigram_irt'
        self.state = state
        self.criticality = criticality
        print(self.__dict__.keys())

i = Identity()

产量

dict_keys(['id', 'app_name', 'app_code', 'state', 'criticality'])
© www.soinside.com 2019 - 2024. All rights reserved.