Унарні арифметичні та порозрядні операції
Оновлено: 24.04.2023
Усі унарні арифметичні та порозрядні операції мають однаковий пріоритет:
u_expr ::= power | "-" u_expr | "+" u_expr | "~" u_expr
Унарний оператор - (мінус) дає заперечення свого числового аргументу; операцію можна перевизначити спеціальним методом __neg__().
Унарний оператор + (плюс) повертає свій числовий аргумент без змін; операцію можна перевизначити спеціальним методом __pos__().
Унарний оператор ~ (інвертування) дає порозрядну інверсію свого цілочисельного аргументу. Побітова інверсія x визначається як -(x+1). Це стосується лише цілих чисел або користувацьких об’єктів, які замінюють спеціальний метод __invert__().
В усіх трьох випадках, якщо аргумент не має належного типу, виникає виняток TypeError.