Все числовые типы, кроме сложных, поддерживают следующие операции согласно их приоритетам выполнения:
x + yx и уx - yx и уx * yx и уx / yx и уx // yx / y с округлением результата до ближайшего целого в меньшую сторону. Операцию называют "целочисленным делением".int.1 // 2 равно 0,(-1) // 2 равно -1,1 // (-2) равно -1,(-1) // (-2) равно 0.x % yx / y.-xx.+xx останется без изменений.abs(x)x.int(x)x преобразуется в целое число int.0 до 9 или любой эквивалент Юникода.math.floor() и math.ceil()float(x)x преобразуется в число с плавающей точкой float.0 до 9 или любой эквивалент Юникода.'nan' - не число и 'inf' - положительная или отрицательная бесконечность, с необязательным префиксом + или -.complex(real, image)real, мнимой частью image.c.conjugate()с.divmod(x, y)(x // y, x % y).pow(x, y)x в степени у. Python определяет 0 ** 0 как равное 1, как это обычно бывает для языков программирования.x ** yx в степени у. Python определяет pow(0, 0) как равное 1, как это обычно бывает для языков программирования.Внимание!. Комплексным числам (тип complex) недоступны операции: // - деление без остатка , % - остаток от деления, int(), float(), divmod().
Синтаксис арифметических выражений прост. Операторы +, -, * и / работают так же, как и в большинстве других языков программирования, круглые скобки () могут быть использованы для группировки выражений.
>>> 2 + 2 # 4 >>> 50 - 5*6 # 20 >>> (50 - 5*6) / 4 # 5.0 # деление всегда возвращает тип float >>> 8/5 # 1.6
Целые числа, например 2, 4, 20 имеют тип int, числа с дробной частью, например 5.0, 1.6 имеют тип float.
Деление / всегда возвращает тип float (число с плавающей запятой). Для получения целой части числа, полученного в результате деления (floor division - округление результата до ближайшего целого в меньшую сторону) вы можете использовать оператор //, для расчета остатка вы можете использовать оператор %
# классическое деление >>> 17 / 3 # 5.666666666666667 # целочисленное деление >>> 17 // 3 # 5 # возвращает остаток от деления >>> 17 % 3 # 2
С помощью Python можно использовать оператор ** для вычисления степеней
# 5 в квадрате >>> 5 ** 2 # 25 # 2 в степени 7 >>> 2 ** 7 # 128
Знак равенства = используется для присвоения значения переменной.
>>> width = 20 >>> height = 5 * 9 >>> width * height # 900
Если переменная не определена, т. е. ей не присвоено значение, попытка использовать ее приведет к ошибке.
# переменная 'x' не определена # ей не присвоено значение, а значит # Python ничего про нее не знает >>> x # Traceback (most recent call last): # File "<stdin>", line 1, in <module> # NameError: name 'x' is not defined
Существует полная поддержка операций с плавающей запятой, операции с числами смешанного типа преобразуют результат в число с плавающей точкой.
>>> 4 * 3.75 - 1 # 14.0
В интерактивном режиме последнее печатное выражение присваивается переменной _ - символ подчеркивания. Это означает, что при использовании Python в качестве калькулятора несколько проще продолжить вычисления, например:
>>> tax = 12.5 / 100 >>> price = 100.50 >>> price * tax # 12.5625 >>> price + _ # 113.0625 >>> round(_, 2) # 113.06
Переменная _ должна рассматриваться как доступная только для чтения. Не присваивайте ей явно значение, иначе вы создадите независимую локальную переменную с тем же именем, маскируя встроенную переменную с ее магическим поведением. Эта магическая переменная нередко используется в коде для скрытия неиспользуемых данных.
client = [(1, 'shopkeeper', 'Michael Palin'), (2, 'client', 'John Cleese'), (3, 'sketch', 'Cheese Shop Sketch')] for num, _, name in client: print(num, name) # 1 Michael Palin # 2 John Cleese # 3 Cheese Shop Sketch
Помимо int и float, Python поддерживает другие типы чисел, такие как Decimal и Fraction. Python также имеет встроенную поддержку комплексных complex чисел и использует суффикс j или J для обозначения мнимой части, например, 3+5j.