Задать вопрос
morozota
@morozota

Зачем использовать __init__?

Зачем использовать __init__, если можно просто задавать переменные в классе ?
class A():
    var = 3
    def __init__(self, var2):
        self.var2 = var2

class B(A):
        def x(self):
            print(self.var)
            print(self.var2)


b = B(1)
print(b.x())
  • Вопрос задан
  • 355 просмотров
Подписаться 2 Простой 1 комментарий
Решение пользователя ApeCoder К ответам на вопрос (3)
ApeCoder
@ApeCoder
  1. Это короче (File("my.name") вместо x = File(); x.name = "myName")
  2. Этим можно явно обозначить что некоторые параметры необходимы (нельзя создать файл без имени)
  3. Можно предпринять какие-то действия (например, открыть файл)
  4. Кстати, класс является callable - и вызывает конструктор при вызове себя: map(file, ["a.txt", "b.txt", "c.txt"])
Ответ написан
Комментировать