Python магические методы

В этой части учебника мы рассмотрим что такое в Python магические методы класса, это достаточна важная тема, но лёгкая.

Что такое магические методы:

Для начала разберём что такое эти магические методы, если кратко говоря, то это базовые методы, которые можно назначить любому классу.

Например в Python относится таким методам, метод __init__() или __del__(), которые мы разбирали в части про конструкторы.

Python магические методы класса:

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

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

Вот пример использования этого метода:

Как видите мы тут в методе __str__() возвращаем строку с маркой нашей машины и скоростью, и более того всё это обозначили.

После мы создаём объект класса Car и выводим его, вот что у нас получиться:

__str__ магический методы Python

Как видите он нам вывел то, что мы хотели, таким образом можно использовать __str__().

Также подобные этому методы есть __int__(), __float__() их используют при выведи объекта виде целых чисел и сплававшей точкой соответственно.

Например когда для объекта использую функцию int(), при выведи, и т.д..

Ещё есть подобные методы, но только для арифметических действий, например __add__(), он нужен для сложения.

Вот не большой пример его использования:

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

Вот что получиться если мы выведем в консоль значение во время сложения:

Ещё пример работы магического метода

Мы использовали для вывода эту команду print(bmv+100) и как видите получилось 300, это всё потому что мы прибавляем к скорости и возвращаем только скорость, а не всё, поэтому у нас вывелось текущие значение этого параметра.

Также есть и другие арифметические методы:

  • __sub__() — Вычитание;
  • __mul__() — Умножение;
  • __truediv__() — Деление (x/y);
  • __floordiv__() — Целочисленное деление (x // y);
  • __mod__() — Остаток от деления;
  • __pow__() — Возведение в степень;

Опять же это только основные методы которые есть, там ещё есть специальные для битовых операций или логических.

Вывод:

В этой части учебника вы прочитали что такое в Python магические методы класса и основы работы с ними, думаю это было полезно.

Подписываетесь на соц-сети:

Оценка:

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд
(Пока оценок нет)
Загрузка...

Поделится:

Дополнительно:

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *