Vous pouvez ajouter une propriété à une classe à l'aide d'un getter et un setter (dans un cas simpliste):Comment ajouter une propriété à un module dans boost :: python?
class<X>("X")
.add_property("foo", &X::get_foo, &X::set_foo);
Alors vous pouvez l'utiliser de python comme ceci:
>>> x = mymodule.X()
>>> x.foo = 'aaa'
>>> x.foo
'aaa'
Mais comment ajouter une propriété à un module lui-même (pas une classe)?
Il est
scope().attr("globalAttr") = ??? something ???
et
def("globalAttr", ??? something ???);
je peux ajouter des fonctions globales et des objets de ma classe en utilisant les deux méthodes ci-dessus, mais ne peut pas sembler ajouter des propriétés de la même manière que dans les classes.