nom de l'objet instancié ?
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?
Code:
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() |
ce qui est renvoyé:
>>>
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>
>>>