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.
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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)
J'avais pensé (mais sans succès) à quelque chose du genre :
La seule méthode qui fonctionne semble être d'utiliser exec:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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)
Mais ça semble assez sale.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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)')
Il doit y avoir une autre méthode pour faire ça.
Merci de vos éventuels éclairages.
Partager