Maison > développement back-end > Tutoriel Python > Comment personnaliser la représentation sous forme de chaîne d'une classe Python ?

Comment personnaliser la représentation sous forme de chaîne d'une classe Python ?

Linda Hamilton
Libérer: 2024-11-08 16:27:02
original
885 Les gens l'ont consulté

How to Customize the String Representation of a Python Class?

Comment personnaliser la représentation sous forme de chaîne d'une classe

En Python, la représentation sous forme de chaîne par défaut d'une classe ressemble à "". Cela n'est pas toujours souhaitable, surtout lorsque vous souhaitez une représentation sous forme de chaîne personnalisée.

Implémentation de __str__() ou __repr__()

Pour personnaliser la représentation sous forme de chaîne, vous pouvez implémentez la méthode __str__() ou __repr__() dans la métaclasse de la classe. La métaclasse est une classe dont les instances sont des classes.

Par exemple :

class MC(type):
  def __repr__(self):
    return 'Wahaha!'

class C(object):
  __metaclass__ = MC

print(C)
Copier après la connexion

Cela donnera le résultat suivant :

Wahaha!
Copier après la connexion

Choisir le Méthode appropriée

Utilisez __str__() si vous souhaitez une stringification lisible, tandis que __repr__() est utilisé pour les représentations sans ambiguïté.

Version Python 3

Pour Python 3, la syntaxe est légèrement différente :

class MC(type):
  def __repr__(self):
    return 'Wahaha!'

class C(object, metaclass=MC):
    pass


print(C)
Copier après la connexion

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 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