Перейти к основному содержимому

Метод __init__()

У каждого класса есть встроенный метод __init__(), и Python выполняет его каждый раз, когда класс используется для создания нового объекта.

Именно здесь можно присвоить значения свойствам объекта или выполнить любую другую работу, которая нужна новому объекту при создании.

Примечание: вызов __init__() происходит автоматически, один раз для каждого нового объекта, который вы создаёте.

Пример

Класс с именем Person, метод __init__() которого сохраняет имя и возраст:

Prompt
Создайте класс Person, используя метод init() для присваивания name и age, затем создайте объект и выведите оба свойства.
Вывод: полная программа на Python

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

Если не использовать __init__(), свойства каждого объекта придётся задавать вручную, по одному:

С __init__() начальные значения задаются прямо при создании объекта, и это намного проще:

Пример

Класс без __init__():

Prompt
Создайте класс Person без метода init(), вручную задайте свойства name и age и выведите их.
Вывод: полная программа на Python

Пример

Здесь __init__() получает начальные значения при создании объекта:

Prompt
Создайте класс Person с методом init(), который принимает name и age, создайте объект и выведите оба значения.
Вывод: полная программа на Python

Значения по умолчанию в __init__()

Параметры __init__() также могут иметь значения по умолчанию:

Пример

Задайте параметру age значение по умолчанию:

Prompt
Создайте класс Person с методом init(), в котором параметр age имеет значение по умолчанию 18, создайте два объекта и выведите их свойства.
Вывод: полная программа на Python

Несколько параметров

Задайте для __init__() столько параметров, сколько нужно вашему классу:

Пример

Класс Person, который принимает несколько параметров:

Prompt
Создайте класс Person с методом init(), который принимает параметры name, age, city и country, создайте объект и выведите все его свойства.
Вывод: полная программа на Python