Числа. Представлення чисел різних типів. Базові числові типи. Функції перетворення чисел
Зміст
- 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
- Літерали. Створення (генерування) об’єкту. Базові типи об’єктів
⇑