La fonction str () renvoie la version chaîne de l'objet donné.
La syntaxe de str()
est:
str (objet, encoding = 'utf-8', errors = 'strict')
Paramètres de str ()
La str()
méthode prend trois paramètres:
- object - Le
object
dont la représentation sous forme de chaîne doit être renvoyée. S'il n'est pas fourni, renvoie la chaîne vide - encoding - Encodage de l'objet donné. Valeurs par défaut de UTF-8 lorsqu'il n'est pas fourni.
- erreurs - Réponse en cas d'échec du décodage. La valeur par défaut est
'strict'
.
Il existe six types de errors
:
- strict - réponse par défaut qui lève une
UnicodeDecodeError
exception en cas d'échec - ignore - ignore l'Unicode non codable du résultat
- replace - remplace l'Unicode non codable par un point d'interrogation
- xmlcharrefreplace - insère une référence de caractère XML au lieu d'un Unicode non encodable
- backslashreplace - insère une
uNNNN
séquence d'espace au lieu d'un Unicode non codable - namereplace - insère une
N(… )
séquence d'échappement au lieu d'un Unicode non codable
Valeur renvoyée par str ()
La str()
méthode renvoie une chaîne, qui est considérée comme une représentation informelle ou joliment imprimable de l'objet donné.
Exemple 1: convertir en chaîne
Si le paramètre encoding and errors n'est pas fourni, str()
appelle en interne la __str__()
méthode d'un objet.
S'il ne trouve pas la __str__()
méthode, il appelle à la place repr (obj).
result = str(10) print(result)
Production
dix
Remarque: la variable de résultat contiendra une chaîne.
Essayez également ces commandes sur la console Python.
>>> str ('Adam')
>>> str (b'Python! ')
Exemple 2: Comment str () fonctionne-t-il pour les octets?
Si encoding
et errors
paramètre est fourni, le premier paramètre, objet , devrait être un octets-comme-objet (octets ou bytearray).
Si l'objet est en octets ou bytearray , str()
appelle en interne bytes.decode(encoding, errors)
.
Sinon, il récupère l'objet bytes dans le tampon avant d'appeler la decode()
méthode.
# bytes b = bytes('pythön', encoding='utf-8') print(str(b, encoding='ascii', errors='ignore'))
Production
pythne
Ici, le caractère 'ö'
ne peut pas être décodé par ASCII. Par conséquent, cela devrait donner une erreur. Cependant, nous avons défini le errors ='ignore'
. Par conséquent, Python ignore le caractère qui ne peut pas être décodé par str()
.