Форум сайта python.su
Объясните пожалуйста в каких случаях необходимо использовать метод-конструктор __init__, а в каких нет. Видел что в некоторых классах он используется а в некоторых нет. Но понять когда он нужен не могу, в документации написано что его не обязательно объявлять.
Офлайн
Там же, где Вы читали про его (не)обязательность, наверняка был пример.
А вообще лучше поставьте себе какую-то задачу, и вперед – быстро столкнетесь с необходимостью :)
Офлайн
>>> class A(object):
... attr_a = [1,2,3]
...
>>> a1 = A(); a2 = A()
>>> a1.attr_a
[1, 2, 3]
>>> a1.attr_a.append(7)
>>> a1.attr_a
[1, 2, 3, 7]
>>> a2.attr_a
[1, 2, 3, 7]
>>> class B(object):
... def __init__(self):
... self.attr_a = [1,2,3]
...
>>> b1 = B(); b2 = B()
>>> b1.attr_a
[1, 2, 3]
>>> b1.attr_a.append(7)
>>> b1.attr_a
[1, 2, 3, 7]
>>> b2.attr_a
[1, 2, 3]
Офлайн