如何在一个声明中创建多个空类?

时间:2018-07-06 09:01:52

标签: python class

我们可以在一行中创建多个变量,例如:

x, y, z = 1, 2, 3
print(x)

,输出将为1,

我想知道是否有类似的东西可以创建多个空类,所以这样的东西,我知道是错的,但是只是让您了解我的意思:

class X, Y, Z:
    pass

非常感谢您!

1 个答案:

答案 0 :(得分:5)

否,没有使用这种方式使用类定义的特殊语法。您可以使用type构造函数,例如:

>>> A, B, C = type('A', (object,), {}), type('B', (object,), {}), type('C', (object,), {})
>>> A, B, C
(<class '__main__.A'>, <class '__main__.B'>, <class '__main__.C'>)
>>>
>>> A()
<__main__.A object at 0x10354d780>
>>> B()
<__main__.B object at 0x1038b1ef0>
>>> C()
<__main__.C object at 0x10354d780>

但是我认为这并不优雅,并且不太可能将单行保持合理的长度。只需遵守完整的类定义即可。