Chez moi
  • Home
  • About me
  • Services
  • Flux RSS
  • Archives

Appelez une classe depuis une string

Introduction

Bon, ça fait longtemps que je n'ai pas posté. Je fais pas mal de choses mais je ne pense pas forcément à poster. Je vais essayer de m'y atteler plus. J'ai débuté un projet en python; j'en parlerais quand j'aurais bien avancé. Je n'ai pour le moment qu'un demi-mvp

Python3

Tips : Je récupère le nom d'une classe en string : comment passer du string à la classe ?

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
#!/usr/bin/env python3

class maClasse:
  def __init__(self,name):
    self.name = name

input = "maClasse"

monObjet = globals()[input]("mon message")
print(monObjet.name)

La solution est dans le dict renvoyé par globals(). Cette fonction vous renvoie toutes les variables contenues dans le global namespace de votre module. Ultra pratique !

PS : oui, je sais, les variables en lowCamelCase, c'est mal. Même SonarQube me le dit. Mais je m'en fous, je préfère ainsi (d'ailleurs, on parlera bientot de sonarQube)


Publié le

15 juil. 2019
  • Mes articles sont sous license WTFPL généré via Pelican depuis le thème Elegant. Aucun cookie n'est maltraité sur ce site.