Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
#Круги добра
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Открой для себя волшебный мир реальной рыбалки. Лови реальную рыбу на реальных водоемах! Исследуй новые рыболовные места и заполучи заветный трофей.

Реальная Рыбалка

Симуляторы, Мультиплеер, Спорт

Играть

Топ прошлой недели

  • SpongeGod SpongeGod 1 пост
  • Uncleyogurt007 Uncleyogurt007 9 постов
  • ZaTaS ZaTaS 3 поста
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
25
BalaganChick
BalaganChick
4 года назад
Программирование на python

Основные магические методы в python⁠⁠

Пора в python изучить magic и создать классы с магическими методами. С вводной частью вы можете ознакомиться ЗДЕСЬ.

В прошлом посте мы разобрались с методами __new__ и __init__.

Далее разберемся с методом __del__.

__del__ - метод, который срабатывает при удалении объекта.
Основные магические методы в python Python, Метод, Программирование, IT, Питон, Длиннопост

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

Основные магические методы в python Python, Метод, Программирование, IT, Питон, Длиннопост
Основные магические методы в python Python, Метод, Программирование, IT, Питон, Длиннопост

Также есть базовые методы, такие как ==, !=, >= и т.д.

__eq__(self, other) - Определяет поведение оператора равенства, ==.
__ne__(self, other) - Определяет поведение оператора неравенства, !=.
__lt__(self, other) - Определяет поведение оператора меньше, <.
__gt__(self, other) - Определяет поведение оператора больше, >.
__le__(self, other) - Определяет поведение оператора меньше или равно, <=.
__ge__(self, other) - Определяет поведение оператора больше или равно, >=.

Напишем класс Number, который будет принимать число и напишем два метода __eq__ и __gt__ для сравнения.

Основные магические методы в python Python, Метод, Программирование, IT, Питон, Длиннопост
Основные магические методы в python Python, Метод, Программирование, IT, Питон, Длиннопост

В Python есть унарные операторы.

__pos__(self) - Определяет поведение для унарного плюса (+some_object)
__neg__(self) - Определяет поведение для отрицания(-some_object)
__abs__(self) - Определяет поведение для встроенной функции abs().
__invert__(self) - Определяет поведение для инвертирования оператором ~. Для объяснения что он делает смотри статью в Википедии о бинарных операторах.
__round__(self, n) - Определяет поведение для встроенной функции round(). n это число знаков после запятой, до которого округлить.
__floor__(self) - Определяет поведение для math.floor(), то есть, округления до ближайшего меньшего целого.
__ceil__(self) - Определяет поведение для math.ceil(), то есть, округления до ближайшего большего целого.
__trunc__(self) - Определяет поведение для math.trunc(), то есть, обрезания до целого.
Основные магические методы в python Python, Метод, Программирование, IT, Питон, Длиннопост
Основные магические методы в python Python, Метод, Программирование, IT, Питон, Длиннопост
Основные магические методы в python Python, Метод, Программирование, IT, Питон, Длиннопост

Также есть обычные арифметические операторы, +, - ит

__add__(self, other) - Сложение.
__sub__(self, other) - Вычитание.
__mul__(self, other) - Умножение.
__floordiv__(self, other) - Целочисленное деление, оператор //.
__div__(self, other) - Деление, оператор /.
__truediv__(self, other) - Правильное деление. Заметьте, что это работает только когда используется from __future__ import division.
__mod__(self, other) - Остаток от деления, оператор %.
__divmod__(self, other) - Определяет поведение для встроенной функции divmod().
__pow__ - Возведение в степень, оператор **.
__lshift__(self, other) - Двоичный сдвиг влево, оператор <<.
__rshift__(self, other) - Двоичный сдвиг вправо, оператор >>.
__and__(self, other) - Двоичное И, оператор &.
__or__(self, other) - Двоичное ИЛИ, оператор |.
__xor__(self, other) - Двоичный xor, оператор ^.

Операторы сложение, вычитание и деление будут выглядеть примерно так:

Основные магические методы в python Python, Метод, Программирование, IT, Питон, Длиннопост

Есть также деление, умножение, сложение и т.д. с присваиванием.

__iadd__(self, other) - Сложение с присваиванием.
__isub__(self, other) - Вычитание с присваиванием.
__imul__(self, other) - Умножение с присваиванием.
__ifloordiv__(self, other) - Целочисленное деление с присваиванием, оператор //=.
__idiv__(self, other) - Деление с присваиванием, оператор /=.
__itruediv__(self, other) - Правильное деление с присваиванием. Заметьте, что работает только если используется from __future__ import division.
__imod_(self, other) - Остаток от деления с присваиванием, оператор %=.
__ipow__ - Возведение в степерь с присваиванием, оператор **=.
__ilshift__(self, other) - Двоичный сдвиг влево с присваиванием, оператор <<=.
__irshift__(self, other) - Двоичный сдвиг вправо с присваиванием, оператор >>=.
__iand__(self, other) - Двоичное И с присваиванием, оператор &=.
__ior__(self, other) - Двоичное ИЛИ с присваиванием, оператор |=.
__ixor__(self, other) - Двоичный xor с присваиванием, оператор ^=.
Основные магические методы в python Python, Метод, Программирование, IT, Питон, Длиннопост

Можно написать класс Point, принимающий имя точки, координаты по x  и y, и  при обращение к нему выводит информацию о себе, также пару методов, которые показывали бы координаты точек.

Основные магические методы в python Python, Метод, Программирование, IT, Питон, Длиннопост
Весь код, написанный с вами будет ЗДЕСЬ.
Показать полностью 11
[моё] Python Метод Программирование IT Питон Длиннопост
8
6586
reekofka
reekofka
4 года назад

Таких фокусов мы ещё не видели⁠⁠

Змея Питон Подавился Видео Вертикальное видео Одеяло TikTok
413
425
DELETED
4 года назад
Котомафия

Котик пришел на рыбалку. Червяк с собой)⁠⁠

Котик пришел на рыбалку. Червяк с собой) Ягуар, Большие кошки, Рыбаки, Змея, Юмор, Длиннопост, Питон
Котик пришел на рыбалку. Червяк с собой) Ягуар, Большие кошки, Рыбаки, Змея, Юмор, Длиннопост, Питон
Показать полностью 2
Ягуар Большие кошки Рыбаки Змея Юмор Длиннопост Питон
12
sleemSHady
sleemSHady
4 года назад

Комментарии...⁠⁠

Ты зачем мелкого обидел?!

Комментарии... Мат, Юмор, Комментарии, Комментарии на Пикабу, Крокодилы, Питон, Скриншот
Показать полностью 1
Мат Юмор Комментарии Комментарии на Пикабу Крокодилы Питон Скриншот
2
686
Dewi.apMerfyn
Dewi.apMerfyn
5 лет назад

Как работает контекстная реклама⁠⁠

Как работает контекстная реклама Контекстная реклама, Программирование, Питон, Змея
Показать полностью 1
Контекстная реклама Программирование Питон Змея
37
Dmp777group
Dmp777group
5 лет назад
Программирование на python

Программисты, хелп⁠⁠

Не могу понять в чём проблема, вроде бы всё правильно сделал , но при написании города в телеграме, выдаёт такую ошибку

Программисты, хелп Питон, Программирование, Программист
[моё] Питон Программирование Программист
28
827
Geekabu
Geekabu
5 лет назад

Пиксельный питон⁠⁠

Пиксельный питон Зеленый питон, Питон, Пиксель, Окрас, Чешуя, Змея, Пресмыкающиеся, Животные, Природа, Фотография

Источник

Зеленый питон Питон Пиксель Окрас Чешуя Змея Пресмыкающиеся Животные Природа Фотография
21
21
MC.DOS
5 лет назад

Дважды пропел)⁠⁠

Дважды пропел) Ирония судьбы или с легким паром (Фильм), Питон, Python
Показать полностью 1
[моё] Ирония судьбы или с легким паром (Фильм) Питон Python
0
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии