Créer des objets à partir d'une variable ou d'une chaine de caractères.
Bonjour,
Je cherche à créer des objets (instances de classe si j'ai bien compris) à partir d'une variable ou d'une chaine de caractères.
Code:
1 2 3 4 5 6 7 8 9
| class Ovni:
def __init__(self,x,y):
self.x = x
self.y = y
ovni1 = Ovni(10,10)
ovni2 = Ovni(10,10)
...
ovni100= Ovni(10,10) |
Je ne sais pas à l'avance combien d'objets seront créés donc je préfèrerai éviter de les créer un par un.
J'avais pensé (mais sans succès) à quelque chose du genre :
Code:
1 2 3 4 5 6 7
| class Ovni:
def __init__(self,x,y):
self.x = x
self.y = y
for a in range(100):
eval('ovni'+string(a))=Ovni(10,10) |
La seule méthode qui fonctionne semble être d'utiliser exec:
Code:
1 2 3 4 5 6 7
| class Ovni:
def __init__(self,x,y):
self.x = x
self.y = y
for a in range(100):
exec('ovni'+string(a)+'=Ovni(10,10)') |
Mais ça semble assez sale.
Il doit y avoir une autre méthode pour faire ça.
Merci de vos éventuels éclairages.