获取类变量而不实例化类,但只能从类/类型对象中获取?

时间:2016-11-01 13:36:36

标签: python

是否有可能找出在类__init__方法中设置哪些变量(如果有)而不实例化该类并检查其__dict__

例如,如果您使用名为mod的类加载名为Class的模块,则可以使用vars(mod.Class)获取该类的属性和方法,而无需创建它的实例。如果您创建Class的实例,您还可以通过查看mod.Class().__dict__或使用vars(mod.Class())找出实例化时设置的变量。

我想知道你是否可以在没有实例化的情况下获得类变量。我试图检查任意类/类型的变量。 inspect模块没有提供这样的功能。

1 个答案:

答案 0 :(得分:0)

使用Python中的type keyword可以做到这一点。那里有这样的示例:

>>> class X:
...     a = 1
...
>>> X = type('X', (object,), dict(a=1))