Встроенные типы данных Python
Учимся программировать на Python
Python - один из самых востребованных языков программирования. Подпишитесь на бесплатную рассылку и получайте статьи и видео о программировании на Python. Подробнее... |
Python не является строго типизированным языком, однако это не означает, что здесь нет типов данных.
Ведь в любом случае строка - это не число. И если вам не нужно объявлять переменную с указанием типа данных, то это не значит, что в Python типов данных не существует. Они существуют… И их можно разделить на следующие виды:
- Числовые
- Последовательности (строки, кортежи и др.)
- Отображения
- Объекты
- Модули
- Классы
- Файловые объекты
- Вспомогательные объекты
И даже это ещё не всё…
Обо всём этом в одной статье не рассказать, поэтому сегодня только о числах, потому что даже описание строк займёт довольно много места (об этом отдельно в следующий раз). И тоже кратко - вводная для начинающих.
Числовые типы данных в Python
В языке Python ранних версий было четыре типа чисел: целые (int
), длинные целые (long int
),
с плавающей точкой (вещественные; float
) и комплексные (complex
). Но мы изучаем Python версии 3 и выше. А здесь осталось только три типа: целые, вещественные и комплексные.
Числа создаются с использованием литералов или как возвращаемый результат встроенной функции или оператора. Числовые литералы в чистом виде (включая двоичные, шестнадцатеричные и восьмеричные) дают простые целые числа.
Целые числа в Python
Литералы целых чисел могут быть записаны в десятичном, двоичном, восьмеричном и шестнадцатеричном виде. Десятичная запись состоит из идущих подряд десятичных цифр от 0 до 9, причем первая цифра не может быть нулем.
Двоичная запись образуется из приставки 0b
или 0B
и следующих за ней двоичных цифр (0 или 1).
Восьмеричная запись образуется из приставки 0o
или 0O
и следующих за ней восьмеричных цифр (0...7).
Шестнадцатеричная запись образуется из приставки 0x
или 0X
и следующих за ней шестнадцатеричных цифр (0...9, a...z, A...Z).
Знак “-” или “+” не является частью литерала, а лишь унарным оператором, применяемым к объекту после его создания. То есть числовые литералы не содержат знака. Запись -1 на самом деле является выражением, состоящим из унарного оператора “-” и литерала 1.
Длина целочисленных литералов не ограничена. Ограничением является только место в доступной памяти.
Подчеркивания между цифрами игнорируются для определения числового значения литерала.
Их можно использовать для группировки цифр для повышения читаемости. Одно подчеркивание может быть между цифрами
и после базовых спецификаторов, таких как 0x
. Например:
0b_1000_1000
Обратите внимание, что начальные нули в ненулевом десятичном числе не допускаются. Это для устранения неоднозначности с восьмеричными литералами в стиле C, которые Python использовал до версии 3.0.
Несколько примеров литералов для целых чисел:
Десятичное | Двоичное | Восьмеричное | Шестнадцатеричное |
7 | 0b0111 | 0o7 | 0х7 |
15 | 0b1111 | 0o17 | 0xF |
136 | 0b_1000_1000 | 0o210 | 0x88 |
Вещественные числа в Python
Обратите внимание, что целочисленная и экспоненциальная части всегда интерпретируются с использованием основания 10.
Например, 077e010
является допустимым и обозначает то же число, что и 77e10
. Допустимый диапазон литералов с плавающей запятой зависит от реализации. Как и в целочисленных литералах, подчеркивания поддерживаются для группировки цифр.
В старых версиях Python первая цифра не должна была быть нулём. То есть вот так записывать число было нельзя:
0.1
а надо было писать .1
Однако теперь это ограничение снято и можно писать 0.1
.
Примеры записи вещественных чисел:
3.14 10. 0.001 .001 1e100 3.14e-10 0e0 3.14_15_93
ПРИМЕЧАНИЕ
Не во всех версиях поддерживаются двоичные числа и разделение групп цифр подчёркиванием (по крайней мере до версии 3.4 точно не поддерживаются).
Если остались вопросы, см. видео:
Вступить в группу "Основы программирования"
Подписаться на канал в РУТУБ Подписаться на Дзен-канал Подписаться на рассылки по программированию |
Все способы изучить Python
Каждый раз, изучая какую-то новую науку, мы задаёмся вопросом - где взять обучающие материалы. Конечно, сегодня нам помогает в этом Интернет. Но иногда на поиски уходит очень много времени, а нужного результата мы не получаем... Собрал для вас кучу полезных ссылок для изучения Python. не благодарите ))) Подробнее... |