Bonjour à tous,

Dans l'exemple ci-après, une liste contient 3 noms avec lesquels je souhaiterais créer 3 instances de la classe 'Rectangle'.
Il semble que le code de création fonctionne puisque le calcul de surface est exact.
Si les instances sont donc crées comment faire pour les ré-utiliser dans la suite du code.
Quelque chose dans le genre des lignes 27 et 28.

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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
 
# -*- coding: UTF-8 -*-
 
class Rectangle(object):
    """ Classe Rectangle """
    def __init__(self, long, larg):
        self.long = long
        self.larg = larg
 
    def surface(self):
        """ simple calcul de surface """
        return  self.long * self.larg #, self.nom
 
 
def lancer():
    LesRectangles = ['r1', 'r2', 'r3']
    for i in range(1,4):
        lo = 10 + i * 10
        la = 20 + i * 10
 
        r = LesRectangles[i-1]; print("valeur de 'r' ici ", r)
        r = Rectangle(lo, la)
        print("surface de ", LesRectangles[i-1], r.surface())
 
    print("choix ", LesRectangles[1]) # pour vérif donne --> r2 (correct)
##    print("surface de ", globals()[LesRectangles[1]].surface()) # --> erreur
    print("surface de ", r2.surface()) # --> erreur
 
##        lancer()
 
lancer()