Числа. Представление чисел разных типов. Базовые числовые типы. Функции преобразования чисел
Содержание
- 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 в различных форматах
30 # десятичный формат 0x1e # шестнадцатеричный 0X1E # шестнадцатеричный 036 # восьмеричный, версия Python 2.6 0B11110 # двоичный 0b11110 # двоичный 0O36 # восьмеричный, версия Python 3.0 0o36 # восьмеричный, версия Python 3.0
Если в версии Python 3.0 попробовать представить восьмеричное значение так как в версии Python 2.6 (036), то компилятор выдаст ошибку.
⇑
4. Типы целых чисел в Python 2.6: обычные и длинные. Пример
В Python 2.6 целые числа могут быть представлены двумя типами:
- обычные (32-битные) числа;
- длинные (неограниченной точности) числа. Такие числа заканчиваются символом l или L. Если числовое значение целочисленного литерала не помещается в обычное 32-битное число, то это значение автоматически приводится к длинному целому. В этом случае интерпретатор автоматически выполняет соответствующее преобразование.
Пример.
12345 # обычное 32-битное число 1234567890l # длинное число в версиях Python до 3.0 7777777777777L # длинное число в версиях Python до 3.0
⇑
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 в строку, которая представляет это число в двоичной системе исчисления.
Чтобы преобразовать строку в целое число с учетом системы исчисления используется функция
int(s, base)
где
- s – строка;
- base – целое число определяющее количество цифр в системе исчисления. Например, для системы исчисления 7 значение base = 7.
Примеры функций преобразования.
sh = hex(15) # sa = 0xF so = oct(15) # sb = 0o17 sb = bin(15) # sb = 0b1111 i = int('15',10) # i = 15 i = int('15',8) # i = 13 # i = int('19',8) - ошибка, цифра 9 не может быть в 8-й системе исчисления i = int('2EF',16) # i = 751 i = int('20',16) # i = 32 i = int('14',5) # i = 9
⇑
7. Представление вещественных чисел. Пример
Вещественные числа определяют числа с плавающей запятой. Вещественные числа (литералы) могут быть представлены в виде:
- чисел, которые содержат разделитель целой и дробной части;
- чисел, которые содержат символ e или E для обозначения порядка числа.
Интерпретатор Python распознает вещественное число по наличию символа ‘.’ («точка») или экспоненты (символ e или E). После того, как число распознано, создается соответствующий объект вещественного типа. Такой объект используется в дальнейших математических выражениях как объект вещественного типа (а не объект целого или другого типа).
Пример.
2.85 # обычное представление вещественного числа 3. # число 3.0 1.3e-3 # число 0.0013 1.52E6 # 1520000.0 3e2 # 300.0 2.0E-1 # 0.2
⇑
8. Комплексные числа. Примеры
В языке Python есть возможность работать с комплексными числами. Общая форма представления комплексного числа следующая:
real_part + imag_part j
где
- real_part – вещественная часть комплексного числа, которая есть необязательной (в случае, когда число не содержит вещественной части);
- imag_part – мнимая часть комплексного числа, которая завершается символом j или J.
Интерпретатор представляет комплексное число как два вещественных числа. При использовании в математических выражениях, комплексные числа обрабатываются соответствующим образом.
Примеры литералов комплексных чисел
6-8j 2.5+3.8j 0.001J 2.-3.J
⇑
9. Создание комплексных чисел. Функция complex(). Пример
Комплексные числа создаются функцией complex(), которая есть встроенной функцией языка Python. Общая форма функции:
complex(real, imag)
Пример.
a = complex(6, -8) # a = (6-8j) b = complex(0, 2.5) # b = 2.5j c = complex(0.02, -1e4) # c = (0.02-10000j)
⇑
10. Функция eval. Преобразование строки в число
Число может быть представлено в виде строки, например
'258' "0x2A5"
Для преобразования строки в число можна использовать функцию eval. Функция eval(s) рассматривает строку s как программный код на языке Python. Функция выполняет компиляцию строки s и ее использование. Строка воспринимается как часть программы.
Пример.
# Функция eval # выполнение строки как кода программы a = 5 b = 6 c = eval('a+b') # c = a+b = 11 # преобразование строк, представленных как число, в само число c = eval('0xF5') # c = 245 c = eval('0b111') # c = 7 c = eval('0o135') # c = 93 d = bin(eval('0b101')) # d = 0b101
⇑
Связанные темы
- Представление данных в Python. Понятие объекта. Идентичность, тип, значение объекта. Функции id(), type(). Операторы is, is not
- Литералы. Создание (генерирование) объекта. Базовые типы объектов
⇑