Salut à tous,
Dans le bout de code ci-après, j'aurais souhaité savoir s'il est possible d'obtenir de le nom de l'objet instancié.
Dans cet exemple afficher:
r1 perimetre = 18
et
r2 perimetre = 30
pour différencier automatiquement les 2 résultats.
On voit bien dans la réponse que les adresses sont différentes.
Comment donc en obtenir le nom sans avoir à rajouter un paramètre contenant ce nom à la classe?
ce qui est renvoyé:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 class Rectangle(object): def __init__(self,L, l): self.longueur = L self.largeur = l self.nom = object() def perimetre(self): print("perimetre=", self.longueur * 2 + self.largeur * 2) print("nom de l'instance:", self.nom) r1=Rectangle(4,5) r2=Rectangle(7,8) r1.perimetre() r2.perimetre()
>>>
perimetre= 18
nom de l'instance: <object object at 0x00000000022EE190> ## ici donc, au lieu de l'adresse j'aurais souhaité le nom ('r1')
perimetre= 30
nom de l'instance: <object object at 0x00000000022EE1A0>
>>>
Partager