- Головна
-
- Встановлення Python.
- Налаштування віртуального оточення
- Типи даних
- Математичні оператори
- Встроїні функції
- Бібліотеки Python
- Колекція List
- Кортежі Tuple
- Множини (Set)
- Рядки Str
- Список escape-символів
- Колекція Dictionary
- Множина frozenset
- Класи та об'єкти
- Винятки
- Пакетні менеджери
- Перевантаження операторів
- Робота з файлами та директоріями
- HttpClient
- HTTPServer
- Модуль socket
- Робота з пошту
- Багатопоточність
- Асинхронні методи
- Event Loop
- Обхід GIL
- Черга deque
- Масиви постійного розміру
-
- Webpack. Базове складання проекту
- GULP. SCSS. Налаштування оточення
- SCSS стилі особливості
- Шпаргалка SQL
- MySQL dump
- Git команди
- Розгорнути ssh git репозиторію на сервері
- Консольні команди
- Декілька версій PHP на сервері
- PHPStorm+xDebug+OpenServer
- PHPUnit + OpenServer
- Додати застосунок з Windows Store в автозавантаження
- Зовнішні посилання
Перевантаження операторів
Перевантаження операторів в Python дозволяє визначити або змінити поведінку вбудованих операторів (наприклад, +, -, *, /) для користувацьких класів. Це робиться за допомогою спеціальних методів, котрі також називаються магічними методами.
class Vector:
def __init__(self, x, y):
self.x = x
self.y = y
def __eq__(self, other):
return self.x == other.x and self.y == other.y
# Використання
v1 = Vector(2, 3)
v2 = Vector(2, 3)
v3 = Vector(4, 5)
print(v1 == v2) # Виведе: True
print(v1 == v3) # Виведе: FalseАрифметичні оператори:
| Оператор | Метод без підкреслення | Сигнатура метода |
|---|---|---|
| + | add | __add__(self, other) |
| - | sub | __sub__(self, other) |
| * | mul | __mul__(self, other) |
| / | truediv | __truediv__(self, other) |
| // | floordiv | __floordiv__(self, other) |
| % | mod | __mod__(self, other) |
| ** | pow | __pow__(self, other) |
Оператори порівняння:
| Оператор | Метод без підкреслення | Сигнатура метода |
|---|---|---|
| == | eq | __eq__(self, other) |
| != | ne | __ne__(self, other) |
| < | lt | __lt__(self, other) |
| <= | le | __le__(self, other) |
| > | gt | __gt__(self, other) |
| >= | ge | __ge__(self, other) |
Логічні оператори:
| Оператор | Метод без підкреслення | Сигнатура метода |
|---|---|---|
| & | and | __and__(self, other) |
| | | or | __or__(self, other) |
| ^ | xor | __xor__(self, other) |
| ~ | invert | __invert__(self) |
Оператори індексації та зрізів:
| Оператор | Метод |
|---|---|
| obj[key] | __getitem__(self, key) |
| obj[key] = value | __setitem__(self, key, value) |
| del obj[key] | __delitem__(self, key) |
Унарні оператори:
| Оператор | Метод |
|---|---|
| - | __neg__(self) |
| + | __pos__(self) |
| abs() | __abs__(self) |
| ~ | __invert__(self) |
Оператори присвоєння:
| Оператор | Метод |
|---|---|
| += | __iadd__(self, other) |
| -= | __isub__(self, other) |
| *= | __imul__(self, other) |
| /= | __itruediv__(self, other) |
| //= | __ifloordiv__(self, other) |
| %= | __imod__(self, other) |
| **= | __ipow__(self, other) |
2015-2026 © SumyNikNet