English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
функция str() возвращает строковое представление заданного объекта.
синтаксис str():
str(object, encoding='utf-8', errors='strict')
метод str() имеет три параметра:
object-объект, который нужно вернуть в виде строки. Если не указано, то возвращает пустую строку
encoding-кодировка объекта. По умолчанию 'utf-8', если не указаноUTF-8.
errors-ответ при解码е失败. По умолчанию 'strict'.
всего шесть типов ошибок:
strict-стандартный ответ, вызывается исключение UnicodeDecodeError при ошибке
ignore -пропуск некодируемого Юникода в результатах
замена -замена некодируемого Юникода на вопросительный знак
xmlcharrefreplace -вставка символов XML-ссылки вместо некодируемого Юникода
обратная связь- вставка последовательности \uNNNN espace вместо некодируемого Unicode
namereplace- вставка последовательности escape \N{...} вместо некодируемого Unicode
Метод str() возвращает строку, которая считается неофициальным или печатью представления объекта.
Если не предоставленыencodingиerrorsЕсли не предоставлены параметры,则在 str() вызывается метод __str__() объекта.
Если метод __str__() не найден, вызываетсяrepr(obj).
result = str(10) print(result)
Результат вывода
10
Примечание:Переменная результата будет содержать строку.
Эти команды также можно попробовать на платформе Python.
>>> str('Adam')
>>> str(b'Python!')
Если предоставлены параметры encoding и errors, то первый параметр object должен быть объектом, подобным bytes (bytesилиbytearray)
Если объект является bytes или bytearray, то внутри 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'. Поэтому, функция str() Python будет пропускать символы, которые не могут быть декодированы.