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 )

Était-ce utile?

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
scroll top