Python str ()

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

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

 str (обект, кодиране = 'utf-8', грешки = 'стриктно')

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

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

  • обект - objectчието низово представяне трябва да бъде върнато. Ако не е предоставено, връща празния низ
  • кодиране - кодиране на дадения обект. По подразбиране на UTF-8, когато не са предоставени.
  • грешки - Отговорът при неуспешно декодиране. По подразбиране 'strict'.

Има шест вида errors:

  • стриктно - отговор по подразбиране, който поражда UnicodeDecodeErrorизключение при неуспех
  • ignore - игнорира некодируемия Unicode от резултата
  • замени - замества некодируемия Unicode на въпросителна
  • xmlcharrefreplace - вмъква препратка към XML символ вместо некодируем Unicode
  • backslashreplace - вмъква uNNNNпоследователност от espace вместо некодируем Unicode
  • namereplace - вмъква N(… )екранираща последователност вместо некодируем 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')) 

Изход

 pythn 

Тук символът 'ö'не може да бъде декодиран от ASCII. Следователно, това трябва да даде грешка. Ние обаче сме задали errors ='ignore'. Следователно Python игнорира символа, който не може да бъде декодиран str().

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