В 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 представляет экземпляр класса и связывает его атрибуты с заданными аргументами.

Вывод кода показан на рисунке ниже.

Класс Python __init__

Наследование

Наследование — одна из важнейших тем в объектно-ориентированном программировании (ООП). Оно позволяет создавать новый класс (дочерний класс), который является изменённой версией существующего класса (родительского класса).

Используя наследование, мы можем понять, как с помощью этой функции мы можем передавать свойства одного класса другому.

В приведенном ниже коде приведен синтаксис того, как работает наследование.

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.

Выполнение класса __init__ в Python

Заключение

В этом руководстве по Python мы изучили функции и метод __init__. Также мы рассмотрели основные концепции объектно-ориентированного программирования (ООП) и наследования в Python.

Кроме того, мы узнали, как использовать наследование в методе и применять его в коде.

Добавить комментарий