Maison >développement back-end >Tutoriel Python >Comment puis-je personnaliser la représentation sous forme de chaîne de mes instances de classe Python ?

Comment puis-je personnaliser la représentation sous forme de chaîne de mes instances de classe Python ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-27 01:16:11997parcourir

How Can I Customize the String Representation of My Python Class Instances?

Représentation de chaîne personnalisée pour les instances de classe

Lors de l'impression des instances d'une classe, la sortie par défaut fournit souvent uniquement le nom de la classe et une adresse d'objet . Pour personnaliser cette sortie et afficher des attributs spécifiques, on peut définir la représentation sous forme de chaîne de la classe.

En utilisant str et repr Méthodes

Python fournit deux méthodes spéciales, str et __repr__, qui contrôlent la représentation sous forme de chaîne d'un objet. En remplaçant ces méthodes au sein d'une classe, on peut spécifier comment les instances de la classe doivent apparaître une fois imprimées.

strMéthode

La str définit la représentation sous forme de chaîne à afficher lorsque la fonction d'impression est utilisée. Il doit renvoyer une représentation sous forme de chaîne de l'objet. Par exemple :

class Test:
    def __str__(self):
        return "member of Test"

repr Méthode

La méthode

repr définit la représentation sous forme de chaîne à afficher lorsque le La fonction repr() est utilisée ou l'objet est inspecté dans l'invite interactive. Il doit renvoyer une représentation sous forme de chaîne qui peut être utilisée pour recréer l'objet. Par exemple :

class Test:
    def __repr__(self):
        return "Test()"

Exemple

Considérez l'exemple suivant :

class Test:
    def __init__(self):
        self.a = 'foo'

    def __str__(self):
        return str(self.a)

    def __repr__(self):
        return "Test()"
Lors de l'impression d'une instance de cette classe, les sorties suivantes s'affichera :

>>> print(Test())
foo

>>> repr(Test())
Test()
En définissant à la fois le

str et repr méthodes, vous avez un contrôle total sur la représentation sous forme de chaîne de vos instances de classe.

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