Функция 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().








