Засоби перетворення рядків та одиночних символів. Функції int(), str(), repr(), float(), ord(), chr()
Зміст
- 1. Функція int(). Перетворення в ціле число
- 2. Функція str(). Перетворення в рядок
- 3. Функція repr(). Перетворення в рядок як літерал
- 4. Яка відмінність між функцією repr() та функцією str()?
- 5. Функція float(). Перетворення в число з плаваючою комою
- 6. Функції ord() та chr(). Перетворення кодів одиночних символів
- 7. Чи можна в Python додати рядок з числом?
- Зв’язані теми
Пошук на інших ресурсах:
1. Функція int(). Перетворення в ціле число
Функція int() є конструктором класу int. Ця функція повертає цілочисельний об’єкт, який може бути утворений з:
- цілого числа чи об’єкту;
- числа чи об’єкту з плаваючою комою;
- рядка символів чи рядкового об’єкту, що містить послідовність цифр.
Функція може викликатись одним з двох способів:
- int() – у цьому випадку функція повертає значення 0;
- int(x, base) – у цьому випадку обробляється об’єкт x. Значення base визначає систему числення, в яку потрібно конвертувати об’єкт x. За замовчуванням base = 10. Якщо явно задана система числення, то тип об’єкту x повинен бути рядковий, інші типи у цьому випадку забороняються.
Приклад.
# Функція int() # 1. Виклик без параметрів a = int() # a = 0 # 2. Виклик з цілочисельним значенням a = int(15) # a = 15 # 3. Виклик з числом з плаваючою комою a = int(2.85) # a = 2 # 4. Виклик з рядком s = '28' a = int(s) # a = 28 # 5. Виклик з конвертуванням в іншу систему числення - тільки для рядків # конвертувати 155 з 16 системи в десяткову s = '155' a = int(s, 16) # a = 341, значення 155 в 16-й системі # конвертувати 111 з двійкової системи в десяткову s = '111' a = int(s, 2) # a = 7 # 6. Так не можна # a = int(111,2) - помилка, не можна конвертувати число, має бути рядок
⇑
2. Функція str(). Перетворення в рядок
Функція str() є конструктором класу str. Функція повертає об’єкт у вигляді рядка. Функція використовуєтсья для конвертування з одного типу (наприклад числового) в рядковий тип.
Функція має дві релізації:
- str() – без параметрів. У цьому випадку функція повертає пустий рядок;
- str(x) – з параметром x. Параметр x є об’єктом деякого типу. Даний виклик може також містити ще два додаткові параметри, що визначають систему кодування (за замовчуванням система кодування встановлюється utf-8) та схему обробки помилок (за замовчуванням встановлена схема виклику виключення типу UnicodeError).
Результат функції str() може використовуватись для виведення у функції print().
Приклад.
# Функція str() # 1. Виклик з цілим числом x = 25 s = str(x) # s = '25' - рядок символів # 2. Виклик з числом з плаваючою комою y = 2.338 s = str(y) # s = '2.338' # 3. Виклик з рядком s = str("3.778") # s = '3.778' # 4. Виклик з рядком, що не представляє число s = str("abcdef") # s = 'abcdef' # 5. Виклик без параметрів s = str() # s = ''
⇑
3. Функція repr(). Перетворення в рядок як літерал
Функція repr() реалізує перетворення в рядок таким чином, якби цей рядок був літералом в програмному коді.
Функція repr() може бути застосована до:
- цілих чисел;
- чисел з плаваючою комою;
- рядків символів.
Приклад 1. Конвертувати ціле число в рядок, який представлений літералом.
# Функція repr() # конвертувати ціле число в рядок number = 25 snumber = repr(number) # snumber = '25' - як рядок символів number = -100029 snumber = repr(number) # snumber = '-100029' - як рядок символів
Приклад 2. Конвертувати в рядок число з плаваючою комою.
# Функція repr() # конвертувати число з плаваючою комою в рядок number = 25.233 snumber = repr(number) # snumber = '25.233' snumber = repr(-1e-2) # snumber = '-0.01'
Приклад 3. Конвертувати рядок символів в інший рядок так якби він був літералом.
# Функція repr() # конвертувати рядок в рядок s1 = 'Text string' s2 = repr(s1) # s2 = "'Text string'" s1 = "Text string" s2 = repr(s1) # s2 = "'Text string'"
Приклад 4. Конвертування кортежу.
# Функція repr() - обробка кортежу x = ( 2.85, 15, 'Hello') str_x = repr(x) # str_x = "(2.85, 15, 'Hello')"
⇑
4. Яка відмінність між функцією repr() та функцією str()?
У мові Python функції repr() та str() перетворюють довільні об’єкти в їх рядкове представлення.
Різниця між функціями проявляється у тому, як вони конвертують рядок.
Функція repr() повертає представлення рядкового об’єкту у вигляді рядка програмного коду, який можна виконати щоб відтворити цей об’єкт. Іншими словами, функція repr() повертає рядок у вигляді рядка. При використанні такого об’єкту в функції print() буде виведено лапки, які обмежують рядок (рядок у вкладених лапках).
В свою чергу, функція str() використовується для конвертування рядка в рядок без його відтворення у попередню форму. При використанні результату функції str() у функції print() буде виведено звичайний рядок в одинарних лапках.
Наприклад.
# Функції repr() та str() # конвертувати рядок в рядок s1 = 'Text string' # функція repr() s2 = repr(s1) # s2 = "'Text string'" # функція str() s3 = str(s1) # s3 = 'Text string'
Як видно з вищенаведеного коду, функція repr() повертає рядок як літерал
"'Text string'"
а функція str() повертає звичайний рядок
'Text string'
⇑
5. Функція float(). Перетворення в число з плаваючою комою
Функція float() повертає число з плаваючою комою, яке може бути утворене від іншого числа або від рядка. Функція може викликатись одним з двох способів:
- float() – без параметру. У цьому випадку повертається значення 0.0;
- float(x) – де параметр x задає число або рядок, який потрібно конвертувати.
В якості вхідного параметру або вихідного результату функція може використовувати граматичні символи:
- “Infinity” або “inf” – позначають нескінченість. Нескінченість може бути від’ємною: “-Infinity” або “-inf”;
- “nan” – позначає невизначеність.
Приклад.
# Функція float() - повертає число з плаваючою комою # 1. Результат отримується з числа a = 25 # ціле число x = float(a) # x = 25.0 b = 21.555e-2 # число з плаваючою комою x = float(b) # x = 0.21555 # 2. Результат отримується з рядка # s = 'abcdef' - помилка, рядок не має вигляд числа # x = float(s) # рядок в експоненційному форматі s = '-1.23e-2' x = float(s) # x = -0.0123 # рядок в звичайному форматі s = "288.75" x = float(s) # x = 288.75 - як число # використання у виразі x = float(5.2)+float(3.8)*float(-2.1) # x = -2.7799999999999994 # використання з знаком + x = float('+2.34') # x = 2.34 # використання з словом "Infinity" або "inf" x = float("Infinity") # x = inf x = float('-inf') # x = -inf - з від'ємним знаком # використання з словом "nan" x = float("nan") # x = nan x = float() # x = 0.0
⇑
6. Функції ord() та chr(). Перетворення кодів одиночних символів
Функції ord() та chr() використовуються для одиночних символів. Ці функції є інверсні одна до одної.
Функція chr() дозволяє отримувати символ на основі його коду. Функція ord() дозволяє отримати код на основі представлення символу.
Загальна форма виклику функції chr() наступна
c = chr(i)
де c – символьне представлення символу з Unicode-кодом i.
Загальна форма виклику функції ord()
i = ord(c)
де i – код символу c.
Приклад.
# Функції chr() та ord() # 1. Функція chr() code = 49 # код в десятковій системі числення symbol = chr(code) # symbol = '1' - цифра '1' code = 100 symbol = chr(code) # symbol = 'd' code = 7785 symbol = chr(code) # symbol = 'ṩ' - кодування Unicode # 2. Функція ord symbol = '5' code = ord(symbol) # code = 53 symbol = 'ṩ' code = ord(symbol) # code = 7785 symbol = ' ' # символ пробіл code = ord(symbol) # code = 32
⇑
7. Чи можна в Python додати рядок з числом?
Ні, не можна. Якщо потрібно додати число в формі рядка, то для цього використовується відповідна функція перетворення. Якщо потрібно додати два рядки (конкатенація рядків), то число конвертується в рядок з допомогою відповідної функції.
Приклад.
# Додавати рядок з числом не можна s = '25' # це є рядок a = 30 # це є число # Випадок 1. Додати два числа # Попередньо потрібно конвертувати рядок в число b = int(s) res = a + b print('As numbers: a + s = ', res) # Випадок 2. Додати два рядки # Попередньо потрібно конвертувати число в рядок res_str = str(a) + s print('As strings: a + s = ', res_str)
Результат виконання програми
As numbers: a + s = 55 As strings: a + s = 3025
⇑
Зв’язані теми
- Рядки. Загальні поняття. Оголошення рядка. Операції над рядками. Приклади
- Екрановані послідовності. Неформатовані рядки. Багаторядкові блоки тексту
- Доступ за індексами. Зрізи. Отримання фрагменту рядка. Приклади
⇑