Теоретический материал по теме "Типы данных" (Дополнение)
Типы данных
Д.П. Кириенко - Программирование на языке Python (школа 179 г. Москвы)
Итак, мы видим, что Питон умеет работать как минимум с двумя видами данных — числами и строками. Числа записываются последовательностью цифр, также перед числом может стоять знак минус, а строки записываются в одинарных кавычках. 2 и '2' — это разные объекты, первый объект — число, а второй — строка. Операция + для целых чисел и для строк работает по-разному: для чисел это сложение, а для строк —конкатенация.Кроме целых чисел есть и другой класс чисел:
действительные (вещественные числа), представляемые в виде
десятичных дробей. Они записываются с использованием
десятичной точки, например, 2.0. В каком-то смысле, 2 и 2.0
имеют равные значение, но это—разные объекты. Например,
можно вычислить значения выражения 'ABC' * 10
(повторить строку 10 раз), но нельзя вычислить 'ABC' *
10.0
.
Определить тип объекта можно при помощи функции type:
>>> type(2)
<class 'int'>
>>> type('2')
<class 'str'>
>>> type(2.0)
<class 'float'>
Обратите внимание — type является функцией, аргументы функции указываются в скобках после ее имени.
Вот список основных операций для чисел:
A + B
— сумма;
A - B
— разность;
A * B
— произведение;
A / B
— частное;
A ** B
— возведение в степень. Полезно помнить,
что квадратный корень из числа x — это x ** 0.5
,
а корень степени n это x ** (1 / n)
.
Есть также унарный вариант операции -, то есть операция с одним аргументом. Она возвращает число, противоположное данному. Например: -A.
В выражении может встречаться много операций подряд. Как
в этом случае определяется порядок действий? Например, чему
будет равно 1 + 2 * 3 ** 1 + 1
? В данном случае
ответ будет 8, так как сначала выполняется возведение в
степень, затем – умножение, затем — сложение.
Более общие правила определения приоритетов операций такие:
- Выполняются возведения в степень справа налево, то есть
3 ** 3 ** 3
это $3^{3^3}$. - Выполняются унарные минусы (отрицания).
- Выполняются умножения и деления слева направо. Операции умножения и деления имеют одинаковый приоритет.
- Выполняются сложения и вычитания слева направо. Операции сложения и вычитания имеют одинаковый приоритет.
Основные операции над строками:
A + B
— конкатенация;
A * n
— повторение n раз, значение n должно
быть целого типа.