如何在没有导入类的情况下获取类中定义的变量的列表?
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}
