Str () işlevi, verilen nesnenin dize sürümünü döndürür.
Sözdizimi str()
şöyledir:
str (nesne, kodlama = 'utf-8', hatalar = 'katı')
str () Parametreler
str()
Yöntem üç parametre alır:
- nesne -
object
Dize temsili döndürülecek. Sağlanmazsa, boş dizeyi döndürür - kodlama - Verilen nesnenin kodlanması. Sağlanmadığında UTF-8 varsayılanları .
- hataları - Kod çözme başarısız olduğunda yanıt. Varsayılan değer
'strict'
.
Altı tür vardır errors
:
- katı -
UnicodeDecodeError
başarısızlık durumunda bir istisna oluşturan varsayılan yanıt - yoksay - sonuçtan kodlanamayan Unicode'u yok sayar
- replace - kodlanamayan Unicode'u bir soru işaretiyle değiştirir
- xmlcharrefreplace - kodlanamayan Unicode yerine XML karakter başvurusu ekler
- backslashreplace -
uNNNN
kodlanamayan Unicode yerine bir espace dizisi ekler - namereplace -
N(… )
kodlanamayan Unicode yerine bir kaçış dizisi ekler
Str () değerinden dönüş değeri
str()
Yöntem, belirli bir nesnenin olmayan bir veya güzel bir şekilde basılabilir temsili olarak kabul edilir bir dize döndürür.
Örnek 1: Dizeye Dönüştür
Eğer kodlama ve hatalar parametre sağlanmaz, str()
dahili aramaları __str__()
bir nesnenin bir yöntem.
__str__()
Yöntemi bulamazsa bunun yerine repr (obj) 'i çağırır.
result = str(10) print(result)
Çıktı
10
Not: Sonuç değişkeni bir dize içerecektir.
Ayrıca Python konsolunda bu komutları deneyin.
>>> str ('Adam')
>>> str (b'Python! ')
Örnek 2: str () baytlar için nasıl çalışır?
Eğer encoding
ve errors
parametre temin edilmektedir, birinci parametrenin bir amacı , bir olması gereken byte benzeri nesne (bayt veya ByteArray).
Nesne bayt veya bytearray ise , str()
dahili olarak çağırır bytes.decode(encoding, errors)
.
Aksi takdirde, decode()
yöntemi çağırmadan önce arabellekteki bayt nesnesini alır .
# bytes b = bytes('pythön', encoding='utf-8') print(str(b, encoding='ascii', errors='ignore'))
Çıktı
pythn
Burada, karakter 'ö'
ASCII tarafından kodu çözülemez. Dolayısıyla bir hata vermesi gerekir. Ancak errors ='ignore'
,. Dolayısıyla Python, kodu çözülemeyen karakteri yok sayar str()
.