Python str ()

Функция str () возвращает строковую версию данного объекта.

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

 str (объект, кодировка = 'utf-8', errors = 'strict')

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

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

  • объект - объектobject , строковое представление которого должно быть возвращено. Если не указан, возвращает пустую строку
  • encoding - Кодировка данного объекта. По умолчанию используется UTF-8, если он не указан.
  • ошибки - Ответ при сбое декодирования. По умолчанию 'strict'.

Выделяют шесть типов errors:

  • strict - ответ по умолчанию, который вызывает UnicodeDecodeErrorисключение при сбое
  • ignore - игнорирует некодируемый Unicode из результата
  • replace - заменяет некодируемый Unicode на вопросительный знак
  • xmlcharrefreplace - вставляет ссылку на символ XML вместо некодируемого Unicode
  • backslashreplace - вставляет uNNNNпоследовательность espace вместо некодируемого Unicode
  • namereplace - вставляет N(… )escape-последовательность вместо некодируемого Unicode

Возвращаемое значение из str ()

str()Метод возвращает строку, которая считается неформальным или хорошо для печати представления данного объекта.

Пример 1: преобразовать в строку

Если параметр кодирования и ошибок не указан, str()вызывает внутренний __str__()метод объекта.

Если он не может найти __str__()метод, он вместо этого вызывает repr (obj).

 result = str(10) print(result)

Вывод

 10 

Примечание: переменная результата будет содержать строку.

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

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

Пример 2: Как str () работает с байтами?

Если encodingи errorsпараметр предусмотрен, первый параметр, объект , должен быть байт-как-объект (байт или ByteArray).

Если объект байтов или байтовый массив , str()внутренне вызывает bytes.decode(encoding, errors).

В противном случае он получает объект байтов в буфере перед вызовом decode()метода.

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

Вывод

 питн 

Здесь символ 'ö'не может быть декодирован ASCII. Следовательно, он должен выдать ошибку. Однако мы установили errors ='ignore'. Следовательно, Python игнорирует символ, который не может быть декодирован str().

Интересные статьи...