Курс 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"
- Многоточие в Python
- Работа с модулем random
- Colorama: окрашивание текста в Python
- Оператор «not» в Python
- Ноутбуки AMD Ryzen ™ 4000: мощность и эффективность
- Изменение списка срезами
- Библиотека sh: использование команд bash в Python
- Метод count в Python: почему count(», ») возвращает 4?
- Разность множеств
- Итерация по копии коллекции
- Цикл for в Python
- Отношения подклассов в Python
- Разделение строки с помощью re.split()
- Ускорение выполнения кода в Python
- Работа со стеком в Python
- Функция product() из itertools
- Сортировка с помощью параметра key
- Оператор += для объединения строк
- Основные операции с библиотекой Numpy
- Создание и использование модулей в Python
- Оператор Walrus в Python
- Объединение списков в Python.
- Подписка на SelectelNews в Twitter
- Функции классификации комплексных чисел
- Основы работы со строками в Python
- Переопределение метода __or__()
- Импорт объектов из модулей
- Работа с контекстными переменными
- discard() — удаление элемента из множества
- Метод pop() списка
- Вставка переменных в шаблоны Flask
- Введение в Python
- Генерация случайных чисел в Python
- Python itertools combinations() — группировка элементов
- Декоратор Ajax required
- Условные выражения в Python
- Mad Libs Generator
- Метод rmatmul для пользовательских матриц
- Объединение списков в Python
- Освоение Python
- Удаление символов новой строки в Python.
- Копирование в Python
- Принципы SRP и OCP
- Лямбда-функции в Python
- Работа с deque в Python
- Оценка выражений генератора в Python
- Преобразование чисел в восьмеричную строку















