cours rapiéçage en Python
-
12-09-2019 - |
Question
Supposons que j'ai une classe Python que je veux ajouter une propriété supplémentaire à.
Y at-il une différence entre
import path.MyClass
MyClass.foo = bar
et en utilisant quelque chose comme:
import path.MyClass
setattr(MyClass, 'foo', bar)
Dans le cas contraire, pourquoi les gens semblent faire la seconde plutôt que la première? (Par exemple, ici http:. //Concisionandconcinnity.blogspot. com / 2008/10 / chaînettes singe-patches en python.html )
La solution
Les déclarations sont équivalentes, mais setattr peut être utilisé car il est le choix le plus dynamique des deux (avec setattr vous pouvez utiliser une variable pour le nom d'attribut.)
Voir: http://docs.python.org/library/functions.html# setattr
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow