Module (33%)
Section (25%)

Целые числа

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

Здесь мы не будем изучать тонкости позиционных систем счисления, но мы скажем, что числа, обрабатываемые современными компьютерами, бывают двух типов:

  • целые числа, то есть те, которые не содержат дробной части;
  • и числа с плавающей точкой (или кратко 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.