Maison >développement back-end >Tutoriel Python >Comment utiliser la fonction __str__() en Python pour définir la représentation sous forme de chaîne d'un objet

Comment utiliser la fonction __str__() en Python pour définir la représentation sous forme de chaîne d'un objet

WBOY
WBOYoriginal
2023-08-21 22:55:541333parcourir

Comment utiliser la fonction __str__() en Python pour définir la représentation sous forme de chaîne dun objet

Comment utiliser la fonction __str__() en Python pour définir la représentation sous forme de chaîne d'un objet

En Python, chaque objet a une représentation sous forme de chaîne qui est utilisée pour afficher son contenu lors de l'impression de l'objet. Souvent, la représentation sous forme de chaîne par défaut d'un objet n'est pas suffisante pour nos besoins. Afin de personnaliser la représentation sous forme de chaîne d'un objet, nous pouvons utiliser la fonction __str__() en Python. La fonction

__str__() est une méthode spéciale utilisée pour convertir un objet en chaîne. Lorsque nous imprimons un objet, Python appelle automatiquement la fonction __str__() de l'objet et imprime sa valeur de retour sous forme de chaîne.

Voici un exemple simple qui montre comment définir une représentation sous forme de chaîne d'un objet à l'aide de la fonction __str__() en Python :

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def __str__(self):
        return f"Person(name={self.name}, age={self.age})"

person = Person("Tom", 25)
print(person)

Dans le code ci-dessus, nous avons défini une classe appelée Person, qui a deux attributs : nom et âge. Nous définissons une fonction __str__() dans la classe et renvoyons une chaîne formatée qui contient les valeurs d'attribut de l'objet.

Lorsque nous créons un objet Person et l'imprimons, Python appellera automatiquement la fonction __str__() de l'objet et imprimera sa valeur de retour. Le résultat de sortie sera :

Person(name=Tom, age=25)

En définissant la fonction __str__(), nous pouvons afficher les valeurs d'attribut de l'objet de manière plus intuitive, ce qui nous permet de déboguer et de comprendre plus facilement le programme. Nous pouvons personnaliser le format de chaîne dans la fonction __str__() en fonction de nos propres besoins et contrôler avec précision le contenu imprimé.

En plus de la fonction __str__(), Python fournit également une autre méthode spéciale __repr__(). La chaîne renvoyée par la méthode __repr__() doit être une expression Python valide pouvant être utilisée pour créer l'objet. Si nous ne définissons pas la fonction __str__(), Python appellera par défaut la fonction __repr__() de l'objet pour imprimer l'objet.

Voici un exemple qui montre comment utiliser la méthode __repr__() :

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def __repr__(self):
        return f"Person(name={self.name}, age={self.age})"

person = Person("Tom", 25)
print(person)

Ce code est presque le même que l'exemple de code précédent, la seule différence est que nous utilisons la méthode __repr__() au lieu de __str__() méthode . Le résultat est toujours le même :

Person(name=Tom, age=25)

Il convient de noter que la méthode __str__() est principalement utilisée pour fournir une chaîne descriptive de l'objet, tandis que la méthode __repr__() est principalement utilisée pour fournir une chaîne utilisée pour reconstruire l'objet. . Dans le développement réel, nous pouvons choisir quelle méthode utiliser en fonction des besoins, ou définir deux méthodes en même temps pour fournir une représentation sous forme de chaîne plus complète.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn