Целые числа
Возможно, вы уже немного знакомы с тем, как компьютеры выполняют вычисления для чисел. Возможно, вы слышали о двоичной системе, и знаете, что это системные компьютеры для хранения чисел, и что они могут выполнять любые операции над ними.
Здесь мы не будем изучать тонкости позиционных систем счисления, но мы скажем, что числа, обрабатываемые современными компьютерами, бывают двух типов:
- целые числа, то есть те, которые не содержат дробной части;
- и числа с плавающей точкой (или кратко float), которые содержат (или могут содержать) дробную часть.
Это определение не совсем точно, но пока вполне достаточно. Различие очень важно, и граница между этими двумя типами чисел очень строгая. Оба эти типа чисел существенно различаются по тому, как они хранятся в памяти компьютера, и по диапазону допустимых значений.
Характеристика числового значения, определяющая его вид, диапазон и применение, называется типом.
Если вы кодируете литеральные данные и помещаете их в код Python, то их форма определяет представление (тип), которое Python будет использовать для сохранения его в памяти.
А пока давайте оставим числа с плавающей точкой в стороне (мы скоро к ним вернемся) и рассмотрим вопрос о том, как Python распознает целые числа.
Этот процесс почти такой же, как если бы вы написали их карандашом на бумаге - это просто набор цифр, которые составляют номер. Но есть оговорка - вы не должны вставлять символы, которые не являются цифрами внутри номера.
Взять, к примеру, число одиннадцать миллионов сто одиннадцать тысяч сто одиннадцать. Если бы вы взяли карандаш в руку прямо сейчас, вы бы написали число следующим образом: 11,111,111
, или вот так: 11.111.111
, или даже вот так: 11 111 111
.
Понятно, что это положение облегчает чтение, особенно когда число состоит из нескольких цифр. Тем не менее, Python не принимает такие вещи. Это запрещено. Тем не менее Python допускает использование подчеркиваний в числовых литеральных данных.*
Следовательно, вы можете написать это число следующим образом: 11111111
, или так: 11_111_111
.
ПРИМЕЧАНИЕ *В Python 3.6 введены подчеркивания в числовых литералах, позволяющие размещать одиночные подчеркивания между цифрами и после базовых спецификаторов для улучшения читабельности. Эта функция недоступна в старых версиях Python.
Как мы кодируем отрицательные числа в Python? Как обычно - добавив минус. Вы можете написать: -11111111
или -11_111_111
.
Положительным числам не обязательно должен предшествовать знак плюс, но это допустимо. Следующие строки описывают одно и то же число: +11111111
и 11111111
.