Python str ()

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 objectdont 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 UnicodeDecodeErrorexception 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 uNNNNsé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 encodinget errorsparamè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().

Articles intéressants...