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
Linda Hamiltonoriginal
2024-11-08 16:27:02872parcourir

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)

Cela donnera le résultat suivant :

Wahaha!

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)

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