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

# Day11- Способы экземпляра, методы классов, и Статические методы

Сегодня мы будем обсуждать методы экземпляра, методы классов и статические методы в Python. Эти мет … Теги с Python, программированием, 100Дасофкодом, CodeNewie.

Сегодня мы будем обсуждать методы экземпляра, методы классов и статические методы в Python. Эти методы используются с объектно-ориентированным программированием в Python.

Методы экземпляра

Методы экземпляра являются наиболее часто используемыми методами в ООП в Python. Все методы экземпляра могут изменить состояние объекта, то есть изменение значений элементов (переменных) объекта. Первый параметр – Я которые в основном указывают на экземпляр, вызывающий метод. Имя Я Это просто соглашение об именах, технически его можно назвать.

drink_1 = Drink("Pepsi","small")
drink_1.get_drink()

Во второй строке Я Указывает на экземпляр пить_1. . Мы также можем явно установить значение для самого параметра.

drink_1 = Drink("Pepsi","small")
Drink.get_drink(self = drink_1)

Методы класса

Предположим, мы определяем схему для пользовательского стола

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

Вышеуказанное определение класса функционально правильно. Однако, чтобы вызвать функцию get_all_rows () нам нужен экземпляр Пользователь класс, который будет создан. Но что, если мы хотим получить доступ к этому методу от самого класса, а не экземпляра. Рассмотрим случай, когда таблица пуста или в основном, ни один экземпляр класса Пользователь создано. Мы все еще должны быть в состоянии выполнить запрос.

Мы можем использовать ClassMethod Декоратор, чтобы сделать функцию get_all_rows () Способ класса и сделать его Callable, используя сам класс.

Теперь мы можем назвать функцию get_all_rows () следующим образом

User.get_all_rows()

Как слово Я , CLS также является Конвенцией именования. В приведенном выше фрагменте кода, когда функция get_all_rows () называется используя класс Пользователь , CLS указывает на класс.

Хотя get_all_rows () Это метод класса, он также может быть вызван с использованием экземпляра класса. Если это называется с использованием экземпляра, CLS указывает на экземпляр.

User().get_all_rows()

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

У нас есть пара классических методов для класса Пользователь Отказ Первый метод позволяет нам создать экземпляр Пользователь От объекта JSON, а второй метод позволяет нам создать пользователь администратора.

С CLS Указывает на класс, CLS (имя, возраст) создает экземпляр класса. Мы в основном возвращаем экземпляр, и этот экземпляр присваивается переменной.

Статические методы

Статический метод аналогичен методу класса, однако он не может получить доступ к любым членам класса или членов экземпляра. Это не принимает параметр, как CLS. или себя . Это более полезная функция, то есть функция, которая не нуждается в доступе к членам класса, но может использоваться для описания класса каким-то образом. Чтобы определить статический метод, мы используем StaticMethod декоратор

Рассмотрим статический метод iS_drink_healthy. не нужно получать доступ к любым членам класса или экземпляра Но это описывает класс. Поскольку функция связана с классом, ее можно использовать в качестве статического метода, связанного с классом. Это также может быть определено за пределами класса. Однако, поскольку его можно использовать для описания класса, это хорошая практика, чтобы иметь его в качестве статического метода.

Называть функцию IS_DRINK_HELATHY. мы можем назвать это, используя класс или экземпляр

Drink.is_drink_healthy()
Drink().is_drink_healthy()

Объединение всех методов вместе

  • У нас есть класс под названием Pizza, init Метод принимает список ингредиентов и создает экземпляр пиццы
  • У него также есть два класса методов, которые позволяют создать вегетарианскую или куриную пиццу
  • Он имеет статический метод для расчета площади пиццы, метод не должен получить доступ к любому из членов класса или экземпляра. Это полезность.

Резюме

  • Методы экземпляра являются нормальными методами, определенными внутри класса. Им нужен пример, который будет создан для создания. Первый параметр – Я какие указывает на экземпляр класса
  • Способ класса можно назвать с помощью самого класса и не нужен, который будет создан. Первый параметр – CLS который указывает на класс, если он называется используя класс или он может указывать на экземпляр, если он называется с использованием экземпляра
  • Статические методы – это коммунальные функции, которые можно использовать для описания класса/экземпляра. У них нет доступа к членам класса/экземпляра.

Оригинал: “https://dev.to/rahulbanerjee99/day11-instance-methods-class-methods-and-static-methods-3hjn”