Курс Python → Переопределение унарных операторов
Унарные операторы в Python позволяют переопределить стандартное поведение операторов для объектов пользовательских классов. В данном примере мы рассмотрим класс Number, в котором определен метод neg(self), который переопределяет унарный оператор отрицания (-) для объектов этого класса. Когда мы используем оператор отрицания для объекта num, Python автоматически вызывает метод neg для этого объекта.
Метод neg возвращает новый объект Number с отрицательным значением атрибута value. Это позволяет нам создавать объекты, которые могут поддерживать математические операции с помощью перегрузки операторов в Python. Переопределение метода neg дает нам возможность определить поведение объекта при использовании унарного оператора отрицания.
Пример кода:
class Number:
def __init__(self, value):
self.value = value
def __neg__(self):
return Number(-self.value)
num = Number(5)
neg_num = -num
print(neg_num.value) # Выведет -5
В данном примере мы создаем объект num класса Number с атрибутом value равным 5. Затем мы используем унарный оператор отрицания для объекта num, что вызывает метод __neg__, который создает новый объект Number с отрицательным значением value. В результате мы получаем объект neg_num с атрибутом value равным -5.
Переопределение унарного оператора отрицания позволяет нам более гибко управлять поведением объектов в Python и использовать их в математических операциях. Этот подход особенно полезен при работе с числами или другими данными, где унарный оператор отрицания имеет смысл.
Другие уроки курса "Python"
- F-строки в Python 3.8
- Поиск шаблона в начале строки
- Улучшенные подсказки для импорта в Python 3.12
- Установка пакета в Python
- Метод hash в Python
- Оператор объединения словарей
- Управление ресурсами с контекстными менеджерами
- Чтение и запись TOML-конфигов
- Оптимизация памяти с __slots__
- Использование функции enumerate()
- Удаление символа из строки
- enumerate() в Python для работы с индексами
- Создание Telegram-бота на Python
- Разделение строк в Python
- Поиск HTML-элементов с BeautifulSoup
- Цикл while в Python
- Форматирование строк в Python
- Печать списка с помощью метода join
- Логирование в Python
- Наиболее частотные элементы с помощью Counter
- Профилирование с Pandas
- Работа с рекламными данными в Pandas
- Распаковка элементов массива
- Просмотр внешнего файла в Python
- Определение размера папок в Python
- Генераторы в Python
- Lambda Functions in Python
- Регистрация на курсы SF Education
- Метод lt для сортировки объектов
- Хеши в Python
- Работа с байтовыми строками в Python
- Обратный список чисел
- Создание матрицы в Python
- Использование type hints
- Генераторы и сеты в Python
- Проверка переменных окружения в Python
- Оператор «or» в Python
- Объединение списков с использованием itertools.chain
- Отладка регулярных выражений в Python
- Pretty-printing JSON в Python
- Курсы Яндекс Практикум
- Поиск уникальных и повторяющихся элементов
- Сортировка и разворот списка
- Упрощенный вывод данных в Python
- Создание копии списка в Python
- Функция product() из itertools
- Подробная информация о %pinfo
- Безопасные SQL-запросы в Python 3.11
- Поиск email















