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

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

DDD
Libérer: 2024-11-09 15:10:02
original
370 Les gens l'ont consulté

How Can I Customize the String Representation of a Class in Python?

Personnalisation de la représentation sous forme de chaîne de classe

En Python, les classes sont des objets et ont donc leur propre représentation sous forme de chaîne. Par défaut, cette représentation est . La conception d'une représentation personnalisée pour les classes peut être utile pour le débogage, la journalisation ou à d'autres fins.

Pour réaliser cette personnalisation, une métaclasse est utilisée. En Python, une métaclasse est une classe qui crée d'autres classes. En implémentant la méthode __str__ ou __repr__ dans une métaclasse, la représentation sous forme de chaîne de la classe peut être personnalisée.

La méthode __str__ fournit une représentation sous forme de chaîne lisible par l'utilisateur, tandis que __repr__ fournit une représentation sans ambiguïté pour le développement et le débogage. Voici un exemple utilisant __repr__ :

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

class C(object):
  __metaclass__ = MC

print(C)  # Prints 'Wahaha!'
Copier après la connexion

Dans Python 3, l'attribut __metaclass__ est remplacé par un argument de mot-clé métaclasse. Voici la version Python 3 de l'exemple :

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

class C(object, metaclass=MC):
    pass

print(C)  # Prints 'Wahaha!'
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!

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal