str(x)
intégré de Python la fonction convertit l'objet x
à une chaîne en utilisant le x.__str__()
ou, s'il n'existe pas, le repr(x)
fonction intégrée pour obtenir la conversion de chaîne.
Syntaxe str()
Syntax:
str(object)
# – > Most common case: convert an object to a string
str(object=b'', encoding='utf-8', errors='strict')
# – > Not so common case: Converts a bytes or bytearray to a string by calling the method bytes.decode()
Arguments | object | Objet à convertir en chaîne. Si vide ou non fourni, renvoie la chaîne vide '' . |
encoding | (Facultatif) Uniquement si l'objet est un objet bytes. L'encodage utilisé, par exemple ASCII ou UTF-8. | |
errors | (Facultatif) Une des options :'strict' , 'replace' , ou 'ignore' . Voir le tableau ci-dessous pour plus de détails. | |
Valeur de retour | string | Renvoie une valeur de chaîne telle que définie par le object.__str__() méthode. |
String vidéo()
Exemples d'utilisation str()
Le code suivant vous montre comment utiliser le str(x)
fonction sur la façon de convertir un objet en chaîne :
>>> str(42) '42' >>> str(3.14) '3.14' >>> str([1, 2, 3]) '[1, 2, 3]' >>> str({'Donna': 33, 'Harvey': 44}) "{'Donna': 33, 'Harvey': 44}"
Le code suivant vous montre comment utiliser les entrées bytes ou bytearray comme object
dispute.
>>> str(b'hello') "b'hello'" >>> str(b'hello', encoding='UTF-8') 'hello' >>> str(b'hello', encoding='UTF-8', errors='ignore') 'hello'
Mais avant de continuer, je suis ravi de vous présenter mon nouveau livre Python Python One-Liners (Lien Amazon).
Si vous aimez les one-liners, vous allez adorer le livre. Il vous apprendra tout ce qu'il y a à savoir sur une seule ligne de code Python. Mais c'est aussi une introduction à l'informatique , science des données, apprentissage automatique et algorithmes. L'univers en une seule ligne de Python !
Le livre est sorti en 2020 avec l'éditeur de livres de programmation de classe mondiale NoStarch Press (San Francisco).
Lien :https://nostarch.com/pythononeliners
Comment implémenter votre propre représentation sous forme de chaîne pour un objet personnalisé
Pour implémenter votre propre représentation sous forme de chaîne lors de l'utilisation du str(object)
fonction sur votre object
personnalisé , écrasez le object.__str__()
méthode lors de la définition de la classe et renvoie la représentation sous forme de chaîne souhaitée de l'objet donné. Si non __str__()
méthode est définie, Python utilise le __repr__
comme méthode de secours implémentée par défaut pour n'importe quel objet.
class Car: def __init__(self, color, brand): self.color = color self.brand = brand def __str__(self): return 'Your car has color ' + self.color + ' and brand ' + self.brand def __repr__(self): return '123' porsche = Car('black', 'porsche') tesla = Car('silver', 'tesla') print(str(porsche)) print(str(tesla))
La sortie est :
Your car has color black and brand porsche Your car has color silver and brand tesla
Notez comment le __str__
la méthode a priorité sur le __repr__
méthode. Mais si vous sautez la définition du __str__
méthode, il prendra la chaîne renvoyée par le __repr__
méthode :
class Car: def __init__(self, color, brand): self.color = color self.brand = brand def __repr__(self): return '123' porsche = Car('black', 'porsche') tesla = Car('silver', 'tesla') print(str(porsche)) print(str(tesla))
La sortie est maintenant :
123 123
[Table] 7 Arguments "d'erreurs" différents de str()
Vous pouvez utiliser les gestionnaires d'erreurs suivants dans le str()
fonction lors de l'utilisation d'un argument d'entrée bytes ou bytearray.
Valeur | Signification |
---|---|
'strict' | (Par défaut) Augmenter UnicodeError |
'ignore' | Si la saisie de données provoque une erreur, ignorez-la et continuez sans préavis. |
'replace' | Remplacer par le marqueur de remplacement U+FFFD pour décoder les codecs, et '?' sur l'encodage. |
'xmlcharrefreplace' | Remplacer par la référence de caractère XML pour l'encodage. |
'backslashreplace' | Remplacer par des séquences d'échappement. |
'namereplace' | Remplacer par \N{...} séquences d'échappement pour l'encodage. |
'surrogateescape' | Remplacer l'octet par un code de substitution individuel allant de U+DC80 à U+DCFF . |
Vous pouvez trouver plus de détails sur ces gestionnaires d'erreurs à la source ici.
Résumé
str(x)
intégré de Python la fonction convertit l'objet x
à une chaîne en utilisant le x.__str__()
ou, s'il n'existe pas, le repr(x)
fonction intégrée pour obtenir la conversion de chaîne.