[PIPython] assegnazione variabile

Valentino Volonghi aka Dialtone dialtone
Lun 17 Gen 2005 13:22:32 CET


On Mon, 17 Jan 2005 13:00:19 +0100, Alessandro Pisa <alessandro.pisa a katamail.com> wrote:

> Forse non ho capito, ma ci provo....
> Vuoi fare una cosa del genere?
> >>> import math
> >>> eval("math.pi+1")
> 4.1415926535897931

Ne` eval() ne` exec possono essere considerate soluzioni a questo tipo di problemi.

Lo so che e` comodo usarle, ma hanno tanti e tali difetti in prestazioni e sicurezza che non e` consigliabile usarle a meno che non se ne possa proprio fare a meno.

La soluzione e` usare i vari getattr e setattr

import math

setattr(math, 'pi', getattr(math, 'pi')+1)

Oppure piu` in generale:

setattr(classe, 'attributo', valore)
getattr(classe, 'attributo', valore_di_default)


More information about the Python mailing list