Ответ 1
То, что у вас есть, является правильным, хотя вы не будете называть его глобальным, это атрибут класса и может быть доступен через класс e.g Shape.lolwut
или через экземпляр, например. Shape.lolwut
, но будьте осторожны при настройке, поскольку он установит атрибут уровня экземпляра, а не атрибут класса
class Shape(object):
lolwut = 1
shape = Shape()
print Shape.lolwut,
print shape.lolwut,
# setting shape.lolwut would not change class attribute lolwut
# but will create it in the instance
shape.lolwut = 2
print Shape.lolwut,
print shape.lolwut,
# to change class attribute access it via class
Shape.lolwut = 3
print Shape.lolwut,
print shape.lolwut
выход:
1 1 1 2 3 2
Кто-то может ожидать, что вывод будет 1 1 2 2 3 3
, но он будет неправильным