English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

базовый курс Python

управление потоком Python

Функции Python

Типы данных Python

операции с файлами Python

объекты и классы Python

дата и время Python

продвинутые знания Python

руководство Python

метод использования str() Python и примеры

Внутренние функции Python

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

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

str(object, encoding='utf-8', errors='strict')

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

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

  • object-объект, который нужно вернуть в виде строки. Если не указано, то возвращает пустую строку

  • encoding-кодировка объекта. По умолчанию 'utf-8', если не указаноUTF-8.

  • errors-ответ при解码е失败. По умолчанию 'strict'.

всего шесть типов ошибок:

  • strict-стандартный ответ, вызывается исключение UnicodeDecodeError при ошибке

  • ignore -пропуск некодируемого Юникода в результатах

  • замена -замена некодируемого Юникода на вопросительный знак

  • xmlcharrefreplace -вставка символов XML-ссылки вместо некодируемого Юникода

  • обратная связь- вставка последовательности \uNNNN espace вместо некодируемого Unicode

  • namereplace- вставка последовательности escape \N{...} вместо некодируемого Unicode

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

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

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

Если не предоставленыencodingиerrorsЕсли не предоставлены параметры,则在 str() вызывается метод __str__() объекта.

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

result = str(10)
print(result)

Результат вывода

10

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

Эти команды также можно попробовать на платформе Python.

>>> str('Adam')
>>> str(b'Python!')

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

Если предоставлены параметры 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 будет пропускать символы, которые не могут быть декодированы.

Внутренние функции Python