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