Python str ()

Функція str () повертає строкову версію даного об'єкта.

Синтаксис str():

 str (об'єкт, кодування = 'utf-8', помилки = 'строге')

str () Параметри

str() Метод приймає три параметри:

  • об'єкт - objectрядкове представлення якого потрібно повернути. Якщо не вказано, повертає порожній рядок
  • кодування - кодування даного об'єкта. За замовчуванням UTF-8, якщо не надано.
  • помилки - відповідь, коли декодування не вдається. За замовчуванням 'strict'.

Існує шість типів errors:

  • строгий - відповідь за замовчуванням, що викликає UnicodeDecodeErrorвиняток у випадку відмови
  • ігнорувати - ігнорує незрозумілий Unicode з результату
  • replace - замінює некодуваний Unicode на знак питання
  • xmlcharrefreplace - вставляє посилання на символи XML замість некодуваного Unicode
  • backslashreplace - вставляє uNNNNпослідовність espace замість некодируемого Unicode
  • namereplace - вставляє N(… )послідовність екрану замість нешифрованого Unicode

Повернути значення з str ()

str()Метод повертає рядок, яка вважається неформальним або добре для друку подання даного об'єкта.

Приклад 1: Перетворити на рядок

Якщо параметр кодування та помилки не надається, str()внутрішньо викликає __str__()метод об'єкта.

Якщо він не може знайти __str__()метод, він замість цього викликає repr (obj).

 result = str(10) print(result)

Вихідні дані

 10 

Примітка: Змінна результату міститиме рядок.

Також спробуйте ці команди на консолі Python.

 >>> str ('Адам')
 >>> str (b'Python! ')

Приклад 2: Як str () працює для байтів?

Якщо encodingі errorsпараметр надано, першим параметром, об'єктом , повинен бути байтовий об'єкт (байти або байтовий масив).

Якщо об'єктом є байти або байт-масив , str()внутрішні виклики bytes.decode(encoding, errors).

В іншому випадку він отримує об’єкт bytes в буфері перед викликом decode()методу.

 # bytes b = bytes('pythön', encoding='utf-8') print(str(b, encoding='ascii', errors='ignore')) 

Вихідні дані

 pythn 

Тут символ 'ö'не може бути декодований ASCII. Отже, це повинно давати помилку. Однак ми встановили errors ='ignore'. Отже, Python ігнорує символ, який не може бути декодований str().

Цікаві статті...