En Python est-il possible d'instancier une classe à travers un dictionnaire?Dictionnaire avec des classes?
shapes = {'1':Square(), '2':Circle(), '3':Triangle()}
x = shapes[raw_input()]
Je veux laisser l'utilisateur choisir dans un menu et ne pas coder les instructions énormes sinon else sur l'entrée. Par exemple, si l'utilisateur a entré 2, x serait alors une nouvelle instance de Circle. Est-ce possible?
Lorsque vous essayé, qu'est-il arrivé? –
Eh bien, je le fais avec des menus, et juste avoir un wrapper de menu générique gérer ce menu à charger. Je suis très nouveau à ce sujet: -/ – mandroid
Oui, c'est possible, et vous le faites correctement à condition que vous voulez instancier toutes les formes une fois au début, stocker les instances dans le dict et en affecter un à x . Si vous voulez seulement instancier la classe sélectionnée, ou si vous prévoyez d'instancier des formes individuelles plusieurs fois, utilisez quelque chose comme la réponse de Vinay. – Markus