Comment personnaliser la représentation sous forme de chaîne des instances de classe avec print()
Lors de l'impression des instances d'une classe, le comportement par défaut affiche souvent le emplacement mémoire de l'objet. Pour personnaliser la représentation sous forme de chaîne et contrôler ce qui est affiché lors de l'impression, vous pouvez implémenter deux méthodes spéciales : str et __repr__.
__str__ : définition de la représentation sous forme de chaîne lisible par l'homme
La méthode str définit la représentation sous forme de chaîne d'un objet à usage général. Il est invoqué lorsque vous appelez print() ou str() sur l'objet. En remplaçant __str__, vous pouvez définir la sortie personnalisée qui s'affiche lors de l'impression.
__repr__ : Définition de la représentation sous forme de chaîne pour le débogage
Le repr La méthode définit la représentation sous forme de chaîne destinée à des fins de débogage. Il est invoqué lorsque vous appelez repr() sur l'objet ou si vous ne définissez pas str__. La représentation __repr doit être une expression Python valide qui correspond à l'objet.
Exemple
Pour personnaliser la représentation sous forme de chaîne de vos instances de classe :
class Test: def __init__(self): self.a = 'foo' def __str__(self): return "member of Test" def __repr__(self): return "Test()"
Dans l'exemple ci-dessus :
Lorsque vous imprimez une instance de ceci class :
t = Test() print(t)
Il affichera "membre de Test" sur la console, fournissant une représentation personnalisée et significative.
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!