2 votes

création de plusieurs instances d'une classe en Python

Alors disons qu'il y a une classe A

et je peux créer des instances de la classe A de la manière suivante

inst1 = A()

inst2 = A()

inst3 = A()
...

Je peux faire ce travail plus proprement ?

Je dois créer les instances jusqu'à un certain nombre donné par un serveur (ce nombre peut varier à chaque fois).

Je m'attends à faire quelque chose comme

for NUM in range(2):
    inst + NUM = A()

alors les instances que je veux obtenir comme résultat seront trois instances (inst0, inst1, inst2) qui sont de classe A.

Merci d'avance

4voto

Leonardo Scotti Points 923

Vous ne pouvez pas créer de variable unique si vous ne leur attribuez pas un nom spécifique, pour créer une quantité inconnue de variables, utilisez des listes (inndexées) ou des dictionnaires (nommés) :

Listes

avec des boucles for :

instances = []

for x in range('number of instances'):

    instances.append(A())

avec compréhension de la liste (recommandé) :

instances = [A() for x in range('number of instances')]

Dictionnaires

avec des boucles for :

instances = {}

for x in range('number of instances'):

    instances['inst' + str(x)] = A()

avec la compréhension de la dictée (recommandé) :

instances = {'inst' + str(x): A() for x in range('number of instances')}

3voto

Utiliser un dictionnaire ou une liste pour créer votre variable

dictionnaire

d={}
for x in range(1, 10):
    d[f"inst{x}"] = A()

liste

inst=[]
for i in range(10):
    inst.append(A())

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X