Должен ли я давать значения класса по умолчанию следующим образом:
class Foo:
num = 1
или как это?
class Foo:
def __init__(self):
self.num = 1
В этот вопрос я обнаружил, что в обоих случаях
bar = Foo()
bar.num += 1
- хорошо определенная операция.
Я понимаю, что первый метод даст мне переменную класса, а второй - нет. Однако, если мне не нужна переменная класса, но нужно только установить значение по умолчанию для моих переменных экземпляра, оба метода одинаково хороши? Или один из них более "pythonic", чем другой?
Одна вещь, которую я заметил, это то, что в учебнике Django они используют второй метод для объявления моделей. Лично я думаю, что второй метод более изящный, но я хотел бы знать, что такое "стандартный" способ.