str(object='') str(object=b'', encoding='utf-8', errors='strict')
object
- объект Pythonencoding='utf-8'
- кодировка объекта, по умолчанию 'utf-8'
errors='strict'
- обработчик ошибок кодировки.Класс str()
выполнит преобразование и вернет строковую версию объекта. Если объект не указан, класс str()
возвращает пустую строку. В противном случае поведение str()
зависит от того, задано ли кодировка encoding
или значение errors
обработчика ошибок.
Если ни кодировка encoding
, ни errors
обработчик ошибок не заданы, str()
вернет object.__str__()
, что является "неформальным" или красиво печатаемым строковым представлением объекта. Если объект не имеет метода __str__()
, то класс str()
будет пытаться получить "формальное" представление repr()
. Для строковых объектов функция str() вернет саму строку, переданную в качестве аргумента
Если задан хотя бы один из аргументов encoding
или errors
, то object
должен быть байтоподобным, например bytes
или bytearray
. В этом случае str(bytes, encoding, errors)
эквивалентен вызову bytes.decode(encoding, errors)
.
Аргументы encoding
и errors
:
encoding
- это имя кодировки, используемой для декодирования или кодирования строкового представления объекта.error
является необязательным и указывает как должны обрабатываться ошибки кодирования и декодирования.'strict'
- бросает исключение ValueError
, если есть ошибка кодирования. Используется в качестве значения по умолчанию.'ignore'
- игнорирует ошибки. Обратите внимание, что игнорирование ошибок кодирования может привести к потере данных.'replace'
- вставляет символ ?
на место непрочитанных символов, ввиду их отсутствия в используемой кодировке.'surrogateescape'
- любые некорректные байты будут представлены как символы Юникода в диапазоне от U+DC80
до U+DCFF
. Эти символы, при обратной операции кодирования будут возвращаться в те же байты. Полезно для обработки файлов в неизвестной кодировке.'xmlcharrefreplace'
- поддерживается только при записи в файл. Символы, не поддерживаемые кодировкой, заменяются соответствующей ссылкой на символ XML.'backslashreplace'
- заменяет искаженные данные на escape-последовательности Python с обратной косой чертой.'namereplace'
- поддерживается только при записи, заменяет не поддерживаемые символы на \N{...}
escape-последовательности.Класс str()
имеет дополнительные методы, реализующих различные операции с текстовыми строками.
Приведение типов к строке
>>> x = 10 >>> str(x) # '10' >>> x = 3.5 >>> str(x) # '3.5' >>> lst = list(range(5)) str(lst) # '[0, 1, 2, 3, 4]'