Поскольку мы можем создать несколько переменных в одной строке, например:
x, y, z = 1, 2, 3
print(x)
и выход будет равен 1,
Интересно, есть ли что-то подобное для создания нескольких пустых классов, поэтому что-то вроде этого, о котором я знаю, неверно, но просто чтобы вы поняли, что я имею в виду:
class X, Y, Z:
pass
Большое спасибо!
Нет, нет специального синтаксиса для использования определения класса таким образом. Вы можете использовать конструктор 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>
Но я думаю, что это вряд ли элегантно, и вряд ли вы сможете сохранить единственную линию до разумной длины. Просто придерживайтесь определений полного класса.