В Python метод __init__ служит для определения конструктора класса. Конструктор класса содержит набор операторов, которые выполняются при создании объекта.
Как только объект класса создан, вызывается метод __init__. С помощью этого метода можно выполнить любую инициализацию, которую требуется провести для объекта.
Синтаксис
Python объявляет метод __init__ внутри класса, используя следующий синтаксис:
class ClassName: def __init__(self, 'arguments like name, role, etc' ): # Required Initialisations # Other member functions …… …….
Выполнение класса
Мы определяем класс с помощью ключевого слова class и ставим двоеточие. Всё, что находится ниже этого синтаксиса, является частью класса.
Чтобы понять, как работает функция __init__, рассмотрим пример класса.
class Employee: def __init__(self,name,role): self.name = name self.age = age
В методе.__init__() определяются свойства, которые должны быть у всех объектов «Сотрудник». При создании нового объекта «Сотрудник» метод.__init__() устанавливает начальное состояние этого объекта, присваивая значения его свойствам. Таким образом,.__init__() выполняет инициализацию каждого нового экземпляра класса.
class Employee: def __init__(self,name,role): self.name = name self.role = role def emp_details(self): print(self.name,"is a good",self.role) e1 = Employee('steven','developer') e2 = Employee('david','IT analyst') e3 = Employee('john','developer') e1.emp_details() e2.emp_details() e3.emp_details()
В приведённом выше коде мы создали класс «Сотрудник» и передали имя «Стивен» в качестве аргумента. Этот аргумент будет передан методу __init__ для инициализации объекта.
Ключевое слово self представляет экземпляр класса и связывает его атрибуты с заданными аргументами.
Вывод кода показан на рисунке ниже.
Наследование
Наследование — одна из важнейших тем в объектно-ориентированном программировании (ООП). Оно позволяет создавать новый класс (дочерний класс), который является изменённой версией существующего класса (родительского класса).
Используя наследование, мы можем понять, как с помощью этой функции мы можем передавать свойства одного класса другому.
В приведенном ниже коде приведен синтаксис того, как работает наследование.
class Parent_Class_Name: # Parent class code block class Child_Class_Name(Parent_Class_Name): # Child_Class_Name
Класс Child наследует свойства и функции от родительского класса и использует конструктор родительского класса.
В приведенном ниже коде показано, как работает наследование с помощью метода __init__.
class employee: no_of_leaves = 8 def __init__(self,name,designation): self.name = name self.deignation = designation def printdetails(self): return f"The name is {self.name}.Role is {self.role}" class developer(employee): def __init__(self,name,designation,skill): self.name = name self.desigantion = designation self.skill = skill def printdev(self): return f" the developer name is {self.name} and designation is {self.designation} and skills are {self.skill}" john = employee("John","coder") david = developer("david","programmer" ,"python") print(david.no_of_leaves)
В представленном коде мы создали два класса: родительский «сотрудник» и дочерний «разработчик». В родительском классе мы определили атрибут no_of_leaves. Поскольку класс «разработчик» наследует атрибуты класса «сотрудник», он также получает доступ к атрибуту no_of_leaves.
Когда мы запросили количество отпусков для разработчика Дэвида, код вернул значение «8» из родительского класса, так как атрибут no_of_leaves был унаследован.
Результатом приведенного выше кода будет 8.
Заключение
В этом руководстве по Python мы изучили функции и метод __init__. Также мы рассмотрели основные концепции объектно-ориентированного программирования (ООП) и наследования в Python.
Кроме того, мы узнали, как использовать наследование в методе и применять его в коде.