Suliman
Как я понял следующая строка – конструктор
нет, конструктор создаёт экземпляр класса, а __init__ вызывается у уже созданного экземпляра, конструктор - это __new__
__init__ - это инициализатор (неофициальное определение)
Suliman
Что будет если его не объявлять?
он будет пустым (унаследован сверху)
>>> class A:
... pass
...
>>> a = A()
>>> a.__init__
<method-wrapper '__init__' of A object at 0xb732cd6c>
>>>
Suliman
1. Правильно ли я сделал что определил функцию SayHello внутри
получилась локальная функция - типа локальной переменной, которая создаётся при каждом вызове метода __init__ и разрушается при его завершении
Suliman
я не могу понять что мне передавать
во все методы класса передаётся ссылка на экземпляр, которому принадлежит метод
>>> class A:
... pass
...
>>> a = A()
здесь создан экземпляр a класса A
у экземпляра a есть набор методов, и при вызове любого метода экземпляр a передаёт себя в метод первым аргументом (неявно)
бывают специальные методы (статические, методы класса), с которыми экземпляр обращается по-другому
в общем, прочитай книжку какую-нибудь, на догадках неэффективно учиться