Skip to main content
 首页 » 编程设计

python之如何知道类中定义了哪些变量

2025年05月04日8pengyingh

如何在没有导入类的情况下获取类中定义的变量的列表?

vars(obj) 返回类中的所有变量,不包括不需要的 bliltin 变量,如 __doc__、__file__、__name__ 、__package__、os、pdb等

请您参考如下方法:

您可以通过多种方式获取class 变量或实例变量。利用强制内置函数被双下划线字符包围的编码约定 ('__builtin__'):

class foo: 
    baz = 51 
    def __init__(self): 
        self.bar = 42 

>>> vars(foo) 
{'__doc__': None, 
 '__init__': <function __init__ at 0x02A35B70>, 
 '__module__': '__main__', 
 'baz': 51} 
>>> {k:v for k,v in vars(foo).items() if k[:2]!="__" and k[-2:]!="__"} 
{'baz': 51} 
>>> obj = foo() 
>>> vars(obj) 
{'bar': 42}