Все операции в математике имеют определенный приоритет: сначала выполняется возведение в степень, затем деление по модулю и так далее. Этот приоритет соблюдается и в Питоне:
| Приоритет | Оператор Python | Операция | Пример | Результат |
| 1 | ** | Возведение в степень | 5 ** 5 | 3125 |
| 2 | % | Деление по модулю (получение остатка) | 16 % 7 | 2 |
| 3 | // | Целочисленное деление (дробная часть отбрасывается) | 13 // 3 | 4 |
| 4 | / | Деление | 39 / 2 | 19.5 |
| 5 | * | Умножение | 123 * 321 | 39483 |
| 6 | — | Вычитание | 999 – 135 | 864 |
| 7 | + | Сложение | 478 + 32 | 510 |
Python допускает применение сложения и умножения в операциях со строками. Сложение строк, как уже упоминалось выше, называется конкатенацией:
|
1 2 |
>>> print('Python -' + ' лучший' + ' язык' + ' программирования') Python - лучший язык программирования |
Умножение строки на целое число называется репликацией:
|
1 2 |
>>> print('Репликанты' * 5) РепликантыРепликантыРепликантыРепликантыРепликанты |
Встроенные типы данных в Python
Питон работает с двумя категориями данных – встроенными типами (они поддерживаются по умолчанию) и специализированными (для операций с ними нужно подключение определенного модуля). К специализированным типам данных относятся, например, datetime (дата и время) и deque (двухсторонняя очередь).
Все встроенные типы данных в Python можно разделить на следующие группы:
- Числовые – целые, вещественные, комплексные числа. Примечание: для максимально точных расчетов с десятичными числами в Python используют модуль
decimal(тип данных Decimal), а для операций с рациональными числами (дробями) – модульfractions(тип данных Fraction). - Булевы – логические значения True (истина) и False (ложь).
- Строковые – последовательности символов в кодировке Unicode.
- NoneType – нейтральное пустое значение, аналогичное null в других языках программирования.
- Последовательности – списки, кортежи, диапазоны.
- Словари – структура данных типа «ключ: значение».
- Множества – контейнеры, содержащие уникальные значения. Подразделяются на изменяемые
setи неизменяемыеfrozensetмножества. - Байтовые типы –
bytes(байты),bytearray(изменяемая байтовая строка),memoryview(предоставление доступа к внутренним данным объекта).
В таблице приведены примеры и определения встроенных типов данных:
| Тип данных | Значение | Определение в Python | Вариант использования |
|---|---|---|---|
| Целые числа | -3, -2, -1, 0, 1, 2, 3 | int | a = int(input()) |
| Вещественные числа | -1.5, -1.1, 0.6, 1.7 | float | a = float(input()) |
| Комплексные числа | −5i, 3+2i | complex | a = complex(input()) |
| Булевы значения | True, False | True, False | flag = True |
| NoneType | None | None | a = None |
| Строка | ‘abracadabra’ | str | a = str(5) |
| Список | [1, 2, 3], [‘a’, ‘b’, ‘c’] | list | a = list((‘a’, ‘b’, ‘c’)) |
| Кортеж | (‘red’, ‘blue’, ‘green’) | tuple | a = tuple((‘red’, ‘blue’, ‘green’)) |
| Изменяемое множество | {‘black’, ‘blue’, ‘white’}, {1, 3, 9, 7} | set | a = set((‘black’, ‘blue’, ‘white’)) |
| Неизменяемое множество | {‘red’, ‘blue’, ‘green’}, {2, 3, 9, 5} | frozenset | a = frozenset((2, 5, 3, 9)) |
| Диапазон | 0, 1, 2, 3, 4, 5 | range | a = range(6) |
| Словарь | {‘color’: ‘red’, ‘model’: ‘VC6’, ‘dimensions’: ’30×50′} | dict | a = dict(color=’red’, model=’VC6′, dimensions=’30×50′) |
| Байты | b’\x00\x00\x00′ | bytes | a = bytes(3) |
| Байтовая строка | (b’\x00\x00′) | bytearray | a = bytearray(2) |
| Просмотр памяти | 0x1477a5813a00 | memoryview | a = memoryview(bytes(15)) |
Чтобы узнать тип данных, нужно воспользоваться встроенной функцией type():
|
1 2 3 |
>>> a = 3.5 >>> type(a) <class 'float'> |