[PIPython] attributi con gli attributi

Lucriz lucriz
Ven 19 Nov 2004 15:16:45 CET


mi sono appena iscritto alla ml,
quindi un saluto a tutti:-)

ho il seguente problema,

uso swig per creare dei wrapper python di alcune classi c++.

le classi hanno alcuni metodi Get/Set che sarebbe più
elegante esprimere con attributi delle classi python.
per capirci:

class Object

{

public:
    void  SetPositionX(float  x);
    void  SetPositionY(float  x);
    float GetPositionX();
    float GetPositionY();

private:
    float  x, y;

};

considerate che le classi sono molto più complesse, questo è un esempio
striminzito.
in python vorrei poter scrivere qualcosa del genere

obj = Object()
obj.position.x = 1.2
obj.position.y = 3.6

xpos = obj.position.x
ypos = obj.position.y

come si evince dal codice vorrei realizzare un attributo 'position',
il quale a sua volta abbia gli attributi x e y, che vengono opportunamente
mappati sui metodi Get/Set dell'oggetto.

con attributi semplici si può usare __getattr__ e __setattr__ o
property(), ma quando gli attributi hanno attributi che si fa?

grazie





More information about the Python mailing list