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
Libérer: 2024-12-27 01:16:11
original
991 Les gens l'ont consulté

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"
Copier après la connexion

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()"
Copier après la connexion

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()"
Copier après la connexion
Lors de l'impression d'une instance de cette classe, les sorties suivantes s'affichera :

>>> print(Test())
foo

>>> repr(Test())
Test()
Copier après la connexion
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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal