Рубрики
Без рубрики

Понимание метода __init __ () в Python

В этой статье мы обсудим концепцию упс – конструктор Python и как подробно объяснить, как мы можем использовать метод __init __ () для инициализации объекта.

Автор оригинала: Pankaj Kumar.

В этой статье мы обсудим концепцию упс – конструктор Python и как подробно объяснить, как мы можем использовать метод __init __ () для инициализации объекта.

Что такое конструктор?

Прежде чем мы пойти в идею конструктора, вот быстрого головы на классах и объектах в целом:

«В OOP объект относится к абстрактному типу данных, создаваемым разработчиком. Объект определен/характеризуется его параметрами (значениями состояния) и поведением (методы). Классы – это план или набор инструкций для создания определенного типа объекта “.

Конструкторы могут очень просто понимать как специальный метод, который называется во время инициализации/создания объекта. Конструктор обычно определяется как функция в определении класса, который принимает параметры состояния и создает объект с этими пользовательскими параметрами.

В Python метод конструктора __init __ () и написан как:

def __init__(self, object_parameters...):
    # Initialize the object

Функция принимает в себе и параметры объекта в качестве ввода. Параметры объекта в качестве имени предполагают, являются переменными состояния, которые определяют объект.

«Я» является зарезервированным ключевым словом в Python, который представляет экземпляр класса. Ключевое слово «Self» позволяет легкому доступу к способам и параметрам класса для использования в других методах класса.

Например, доступная переменная объекта «VAR» может быть доступна с помощью Self.var.

Эта идея станет более понятной, когда мы видим пример создания класса.

Создание простого класса: декартовая точка

В этом примере мы создаем класс для класса для 2D декартовых точек. Класс имеет две государственные переменные – X и Y, которые определяют местоположение точки.

class Point:
    def __init__(self, x, y):
        self.x = x
        self.y = y
    def coords(self):
        print("The point is at: ({}, {})".format(self.x, self.y))

Метод __init __ () относится к двум переменным состояния в качестве ввода. Затем мы инициализируем объект, установив переменные состояния объекта к определенному пользователем значение.

Переменные состояния объекта (здесь X и Y) могут быть доступны с использованием Self.x и Self.y соответственно.

Другой метод вот координаты (), которые печатают текущее местоположение точки. Обратите внимание, как мы доступаем к точкам, используя Self.x и Self.y.

# Create object `P` of class Point with value 3 and 4
P = Point1(3, 4)

# Print the coordinates of point `P`
P.coords()
Изображение 23.

Переменные по умолчанию в методе __init __ ()

Как и любая другая функция, что в Python метод __init __ () позволяет принимать значения по умолчанию. Эта функция может быть особенно полезна, когда класс принимает много входных параметров. Здесь мы создаем еще один класс Point1, который инициализирует точку для (0, 0), не указан точка данных.

class Point1:
    def __init__(self, x=0, y=0):
        self.x = x
        self.y = y
    def coords(self):
        print("The point is at: ({}, {})".format(self.x, self.y))

# Create object of class Point1 with default parameters
Q = Point1()
Q.coords()
Изображение 22.

Заключение

Мы видели, как определить конструкторов для класса Python. Хотя самый жизнеспособный и легкий метод, оказывается, это не единственный метод. Python позволяет более сложным инициализацией классов, которые особенно важны во время наследства/расширения других классов. Мы увидим больше таких примеров в будущих статьях.