Python в качестве калькулятора

Интерактивную подсказку можно использовать в качестве калькулятора. Открыв интерактивную оболочку python, можно ознакомиться с различными доступными арифметическими операциями.

Арифметическая операция

Оператора

Сложение

+

Вычитание

-

Умножение

*

Деление

/

Целая часть от деления

//

Остаток от деления

%

Возведение в степень

**

Сложение, вычитание и умножение работают в точности как в С/C++.

Note

В C/C++ результат вычисления a / b зависит от типов переменных a и b. Если обе переменные целочисленного типа, то выполняется целочисленное деление (целая часть при делении a на b), а если хотя бы один аргумент является числом с плавающей точкой, то выполняется обычное деление (иногда называемое true division). В python3 оператор / всегда выполняет обычное деление, а для целочисленного деления введен оператор //.

Note

Данный курс посвящен третей версии языка python. Python2 — предыдущая версия, которая имеет ряд своих особенностей. Например, оператор / в ней работал так же, как в C/C++. В этом курсе упор сделан именно на python3 и такие отличия в будущем могут быть пропущены. Будьте внимательны!

  • возведение в степень **;

Все вышеперечисленные арифметические операции выполняются над числами, для представления которых в python определенны два основных типа данных int и float. Тип результата вычисления выражения определяется так же, как и в C/C++.

Note

Для определения типа переменной или результата вычисления арифметического выражения используйте функцию type().

Результат вычисления корректно набранного арифметического выражения сразу выводится в консоль. Для того, чтобы запомнить результат вычисления, необходимо сохранить его в переменную с помощью оператора “присваивания” =. Например, по результатам выполнения команды a = 2 ** 100 в переменной a окажется число 1606938044258990275541962092341162602522202993782792835301376.

Note

При объявлении переменной a в предыдущем примере мы никаким образом не указали её тип. Дело в том, что python - динамически типизируемый язык программирования, что означает, что тип переменной никогда не объявляется заранее, а всегда определяется динамически, во время выполнения.

Числа в python можно сравнивать теми же операторами ==, !=, <, >, <=, >=, что и в C/C++. Результатом сравнения чисел является значение True или False типа bool. Это значение затем может быть использовано для условного ветвления (if).

Note

Булевые значения реализованы в качестве частного случая целых чисел. В этом можно убедиться командой isinstance(True, int). По умолчанию 1 соответствует значению True, а 0 соответствует False. Но любое отличное нуля значение приводится к True. Проверить, приводится какое-либо значение к True или False можно функцией bool().

Note

Весь код набранный в интерактивной подсказке никуда не сохраняется и по окончании сессии будет утерян. Чтобы использовать код многократно, необходимо писать скрипты (файлы с расширением .py). Команды набираются в скрипте точно так же, как и в интерактивной подсказке, а запуск скрипта выполняет последовательную интерпретацию строк скрипта.

Встроенные функции для работы с числами

В любой момент в программе доступен ряд функций для работы с числовыми значениями.

Функция

Описание

Тип аргумента

Пример

abs()

абсолютное значение

number

abs(-1)

bin(), oct, hex()

возвращает строку, соответствующую двоичному/восьмеричному/шестнадцатеричному представлению числа

int

bin(2 ** 8 - 1)

bool()

приведение к True или False

любой

bool(0), bool(1)

char()

символ, код которого в таблице юникод совпадает с аргументом

int

char(169)

divmod()

возвращает целую часть и остаток от деления

int, float

divmod(42, 13)

float()

конструктор числа с плавающей точкой

int, float, string

float("69.420"), float("Nan"), float("-inf")

int()

Конструктор целого числа. В качестве первого аргумента принимает число, строку и ряд других. Если это float, то число округляется в сторону нуля. Если строка, то в качестве второго аргумента принимает основание системы счисления.

int, float, str, …

int(-3), int("010", 8)

pow()

возведение в степень

int, float

pow(2, 100)

round()

округляет число (первый аргумент) до заданного количества цифр после запятой (второй аргумент)

round(1/3, 4)

Полный список встроенных функций с более подробным их описанием доступен здесь.

Математические функции и константы в python

Модуль math содержит в себе ряд часто встречающихся математических функций. Чтобы воспользоваться ими, необходимо импортировать этот модуль.

import math

Вызов функции из этого модуля проиллюстрируем на примере синуса.

print(math.sin(0), math.sin(math.pi/2.))

С полным списком функций модуля math можно ознакомиться в документации.