Python. Числа. Представление чисел разных типов. Базовые числовые типы. Функции преобразования чисел
Числа. Представление чисел разных типов. Базовые числовые типы. Функции преобразования чисел
Содержание
- 1. Категории числовых типов
- 2. Перечень числовых типов
- 3. Представление целых чисел (литералов) в разных системах исчисления. Пример
- 4. Типы целых чисел в Python 2.6: обычные и длинные. Пример
- 5. Представление целых чисел в Python 3.0
- 6. Функции преобразования из числа в строку и наоборот hex() , oct() , bin() , int() . Примеры
- 7. Представление вещественных чисел. Пример
- 8. Комплексные числа. Примеры
- 9. Создание комплексных чисел. Функция complex() . Пример
- 10. Функция eval . Преобразование строки в число
Поиск на других ресурсах:
1. Категории числовых типов
В языке Python типы чисел представлены следующими категориями:
- обычные числовые типы (вещественные, целочисленные);
- литералы (создают числовые типы);
- выражения (обработка числовых типов).
2. Перечень числовых типов
В языке Python поддерживаются следующие числовые типы:
- целые и вещественные числа;
- комплексные числа;
- числа фиксированной точности;
- рациональные числа;
- множества;
- логические значения;
- целые числа неограниченной точности.
3. Представление целых чисел (литералов) в разных системах исчисления. Пример
Целые числа (или целочисленные литералы) могут записываться в разных системах исчисления:
- десятичный формат;
- шеснадцатеричный;
- восьмеричный;
- двоичный.
Пример. Запись числа (литерала) 30 в различных форматах
Если в версии Python 3.0 попробовать представить восьмеричное значение так как в версии Python 2.6 (036), то компилятор выдаст ошибку.
4. Типы целых чисел в Python 2.6: обычные и длинные. Пример
В Python 2.6 целые числа могут быть представлены двумя типами:
- обычные (32-битные) числа;
- длинные (неограниченной точности) числа. Такие числа заканчиваются символом l или L . Если числовое значение целочисленного литерала не помещается в обычное 32-битное число, то это значение автоматически приводится к длинному целому. В этом случае интерпретатор автоматически выполняет соответствующее преобразование.
Пример.
5. Представление целых чисел в Python 3.0
В Python 3.0 оба типа чисел (обычные и длинные) были представлены как один (единый) тип целых чисел, который автоматически представлен как длинное целое число (поддерживает неограниченную точность). Поэтому, в этой версии Python нет потребности завершать литералы символами l или L . Если в Python 3.0 указать l или L после числа, то интерпретатор выдаст ошибку «Invalid token».
6. Функции преобразования из числа в строку и наоборот hex() , oct() , bin() , int() . Примеры
Чтобы превратить числовой вид литерала в строку используются следующие функции:
- hex(num) – преобразует число num в строку, которая отображает это число в шестнадцатеричной системе исчисления;
- oct(num) – преобразует число num в строку, которая представляет это число в восьмеричной системе исчисления;
- bin(num) – преобразует число num в строку, которая представляет это число в двоичной системе исчисления.
Чтобы преобразовать строку в целое число с учетом системы исчисления используется функция
- s – строка;
- base – целое число определяющее количество цифр в системе исчисления. Например, для системы исчисления 7 значение base = 7 .
Примеры функций преобразования.
7. Представление вещественных чисел. Пример
Вещественные числа определяют числа с плавающей запятой. Вещественные числа (литералы) могут быть представлены в виде:
- чисел, которые содержат разделитель целой и дробной части;
- чисел, которые содержат символ e или E для обозначения порядка числа.
Интерпретатор Python распознает вещественное число по наличию символа ‘.’ («точка») или экспоненты (символ e или E ). После того, как число распознано, создается соответствующий объект вещественного типа. Такой объект используется в дальнейших математических выражениях как объект вещественного типа (а не объект целого или другого типа).
Пример.
8. Комплексные числа. Примеры
В языке Python есть возможность работать с комплексными числами. Общая форма представления комплексного числа следующая:
- real_part – вещественная часть комплексного числа, которая есть необязательной (в случае, когда число не содержит вещественной части);
- imag_part – мнимая часть комплексного числа, которая завершается символом j или J .
Интерпретатор представляет комплексное число как два вещественных числа. При использовании в математических выражениях, комплексные числа обрабатываются соответствующим образом.
Примеры литералов комплексных чисел
9. Создание комплексных чисел. Функция complex() . Пример
Комплексные числа создаются функцией complex() , которая есть встроенной функцией языка Python. Общая форма функции:
Пример.
10. Функция eval . Преобразование строки в число
Число может быть представлено в виде строки, например
Для преобразования строки в число можна использовать функцию eval . Функция eval(s) рассматривает строку s как программный код на языке Python. Функция выполняет компиляцию строки s и ее использование. Строка воспринимается как часть программы.
Как в Питоне переводить в другую систему счисления?
Вводится десятичное число и желаемая система счисления с основанием до 9. Десятичное число переводится в заданную систему счисления. Код программы: num = int( .
Как перевести с одной системы счисления в другую?
Чтобы перевести целое положительное десятичное число в систему счисления с другим основанием, нужно это число разделить на основание. Полученное частное снова разделить на основание, и дальше до тех пор, пока частное не окажется меньше основания.
Как перевести из 10 в 16 систему счисления питон?
Однако для случая шестнадцатеричных чисел, Python предоставляет Встроенная функция Для преобразования плавающих чисел из десятичной системы в шестнадцатеричную систему. Функция называется float. hex () и принимает в качестве входного параметра плавающий номер в десятичной обозначении.
Как возводить в 10 систему?
Перевод чисел в десятичную систему счисления Для перевода целой части необходимо умножить разряд числа на соответствующую ему степень разряда. Таким образом, число 1101010,11012 в десятичной системе счисления записывается как 106,8125.
Что делает функция oct ()?
Возвращает значение типа Variant (String), представляющее собой восьмеричное значение числа. Требуемая Аргумент является любым допустимым числовое выражение или строковое выражение.
Типы данных
Важнейшим компонентом любой компьютерной программы являются данные. По большому счету, программа — это данные, с которыми мы выполняем определенные операции. Данные бывают разными и у каждого типа данных свое предназначение и свои возможности.
Какие типы данных есть в Питоне
Некоторые типы данных позволяют записать только одну единицу информации в переменную. К ним, в частности, относятся:
- целочисленное значение (integer)
- десятичная дробь, или если быть более точным, число с плавающей точкой (float)
- комплексное число (complex)
- строка (string) и
- логическое значение (boolean)
Именно этими типами данных мы и займемся на сегодняшнем занятии. Также существуют типы данных, в которых могут содержаться несколько элементов (так называемые коллекции, collections). К ним относятся:
- списки (list)
- словари (dictionary)
- множества (set) и
- кортежи (tuple)
Мы изучим их во втором разделе этого курса.
Работа с числами
Числовые данные могут быть представлены целым числом (integer), числом с плавающей точкой (float) и комплексным числом (complex).
Кроме того, в переменную типа float можно записать значение в виде экспоненциальной записи (scientific notation).
Операции с числами
С числами возможны арифметические операции, операции сравнения и логические операции. Повторим уже известные нам арифметические операции.
Новыми для нас будут целочисленное деление и операция взятия остатка от деления.
Также напомню про операторы сравнения.
Здесь хотелось бы обратить внимание на два момента. Во-первых, результатом сравнения становится логическое значение True или False (об этом чуть позднее). Во-вторых, еще раз напомню, что == и = — это разные символы. В первом случае мы проверяем равенство двух значений, во втором — присваиваем значение переменной.
Кроме этого, существуют и чисто логические операции И, ИЛИ и НЕ.
Перевод чисел в другую систему счисления
Перевод в двоичную систему, то есть в систему нулей и единиц, можно сделать с помощью функции bin(). Для обратного преобразования в десятичную систему достаточно функции int() с указанием системы счисления, из которой происходит преобразование.
Перевод числа в восьмеричную и шестнадцатеричную систему счисления осуществляется аналогичным образом с помощью функций oct() и hex() соответственно.
Поначалу будет казаться, что запомнить все эти детали невозможно, со временем, а точнее, с практикой логика и синтаксис (то, как написаны команды) Питона станут вполне привычными.
Строковые данные
Как мы уже знаем, строку нужно заключить в одинарные или двойные кавычки.
Такой тип данных можно разбить на несколько строк (multiline string). Для этого нужно использовать тройные одинарные или двойные кавычки.
Длина строки
Функция len() позволяет посчитать количество символов в строке.
Объединение строк
Две и более строки можно объединить друг с другом. Пробелы, если они нужны, добавляются отдельно.
Индекс символа в строке
Как мы помним, при создании строки, Питон автоматически создает два индекса, нумерует символы от начала и до конца (начиная с нуля, положительный индекс) и с конца и до начала отрицательный индекс).

Срезы строк
Также можно делать срезы, то есть выбирать сразу несколько символов.
Обратите внимание, что для того чтобы выбрать четвертый элемент, мы указываем его индекс (три, потому что начинаем с нуля). Затем мы указываем элемент до которого, но не включая, мы хотим сделать срез. В данном случае это индекс шесть, соответствующий седьмому элементу.

Циклы в строках
Символы в строке можно вывести один за другим с помощью цикла for.
Методы .strip() и .split()
Метод .strip() удаляет символы в начале и в конце строки. Это бывает полезно, если в базе данных значения записаны, например, вместе со служебными символами и от них нужно избавиться.
Метод .split() делит строку на части. По умолчанию, по пробелам, но можно указать другой разделитель.
В результате получился питоновский список. Если посчитать длину списка, то мы получим количество слов в тексте.
Замена символа в строке
Бывает полезно заменить один символ другим. Например, если дробная часть отделена запятой, и напрямую преобразовать такую строку во float не получится.
Логические значения
В программировании иногда очень полезно задать выражению истинное или ложное значение и в зависимости от этого выполнить те или иные действия. Мы уже видели ранее, что при сравнении Питон выдает значения True или False. На самом деле эти значения сами по себе являются отдельным типом данных и могут быть записаны в переменную.
Логический тип данных называется bool или boolean в честь Джорджа Буля, который создал так называемую булеву алгебру (Boolean algebra) или алгебру логики. Она, в частности, лежит в основе любого компьютера, но также используется в теории множеств и статистике.
Теперь рассмотрим несложную программу.
Подведем итог
На этом занятии мы изучили три типа данных: числовые данные, строки и логический тип данных. С числовыми данными можно выполнять арифметические операции, операции сравнения и логические операции.
Работая со строками, мы можем определить количество символов в строке, объединить несколько строк, посмотреть символ по его индексу, сделать срез строки, просмотреть каждый из символов в цикле for, избавиться от ненужных символов по краям строки или разделить строку на отдельные части. Кроме того, мы можем заменить один элемент строки на другой.
Помимо этого, мы можем записать в переменную логическое значение True или False, и использовать его при написании программ.
Вопросы для закрепления
Какими типами данных представлены числовые значения?
Посмотреть правильный ответ
Ответ: целое число (integer), число с плавающей точкой (float) и комплексное число (complex)
Какой символ используется по умолчанию в методах .strip() и .split()?
Посмотреть правильный ответ
Ответ: пробел. Метод .strip() по умолчанию удаляет пробелы по краям строки, метод .split() по умолчанию делит строку по пробелам.
Дополнительные упражнения⧉ вы найдете в конце ноутбука.
На следующем занятии мы вернемся к изучению условий и циклов, но уже на гораздо более продвинутом уровне.
Ответы на вопросы
Вопрос. Как можно преобразовать список чисел таким образом, чтобы каждый элемент списка превратился в отдельную строку? Ведь если передать список чисел в функцию str(), на выходе мы получим одну строку со списком внутри, а не список из строк.
Ответ. Действительно, использовать только функцию str() в данном случае нельзя.