Функція str() повертає рядкове представлення вказаного об’єкта. Наприклад:
|
1 2 |
# Рядкове представлення Adam print(str('Adam')) |
Результат:
Adam
Синтаксис функції str()
|
1 |
str(object, encoding='utf-8', errors='strict') |
Тут параметри encoding та errors призначені лише для використання, коли тип object — це байти або байтовий масив.
Параметри функції str()
Функція str() приймає три параметри:
object — об’єкт, рядкове представлення якого потрібно повернути;
encoding (не обов’язково) — кодування, в яке потрібно декодувати даний байтовий об’єкт (може використовуватися UTF-8, ASCII тощо). За замовчуванням використовується utf-8;
errors (не обов’язково) — відповідь при невдалому декодуванні (може бути strict, ignore, replace тощо).
Примітка: Існує шість типів помилок: strict, ignore, replace, xmlcharrefreplace, namereplace, backslashreplace. Помилкою за замовчуванням є strict.
Значення, яке повертає функція str()
Функція str() повертає:
рядкове представлення вказаного об’єкта, яке можна вивести;
рядкове представлення байтового object у вказаному encoding.
Приклад №1: Функція str() в Python
|
1 2 3 4 5 6 7 8 9 10 11 |
# Рядкове представлення Luke name = str('Luke') print(name) # Рядкове представлення цілого числа 40 age = str(40) print(age) # Рядкове представлення числового рядка 7ft height = str('7ft') print(height) |
Результат:
Luke
40
7ft
Тут ми використали функцію str() з різними типами аргументів, такими як рядок, ціле число та числовий рядок.
Приклад №2: Функція str() з байтовими об’єктами
Ми можемо використати функцію str() з байтовими об’єктами, які визначаються функцією bytes(). Нам потрібно вказати кодування, в яке ми хочемо конвертувати байтові об’єкти, та тип перевірки помилок, який може виконати функція str().
|
1 2 3 4 5 6 7 8 |
# Оголошуємо байтовий об'єкт b = bytes('pythön', encoding='utf-8') # Конвертуємо байтовий об'єкт utf-8 в ascii з помилкою ignore print(str(b, encoding='ascii', errors='ignore')) # Конвертуємо байтовий об'єкт utf-8 в ascii з помилкою strict print(str(b, encoding='ascii', errors='strict')) |
Результат:
pythn
Traceback (most recent call last):
File "", line 8, in
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 4: ordinal not in range(128)
У першому прикладі ми створили байтовий об’єкт b з рядком pythön та кодуванням utf-8. Ми передали об’єкт b у функцію str() і вказали кодування ascii. Параметру errors ми встановили значення ignore, тому функція str() ігнорує символ ö. Оскільки функція не може декодувати цей символ у ascii, ми отримуємо у виводі pythn.
Аналогічно, у другому прикладі ми встановили помилку strict. У цьому випадку функція str() бере до уваги символ ö і генерує виняток UnicodeDecodeError у виводі.
