[PIPython] Costruzione e recupero dinamici
Giovanni Porcari
giovanni.porcari
Gio 31 Mar 2005 14:11:10 CEST
Il giorno 31/mar/05, alle 10:25, Massimo Cecconi ha scritto:
> Ciao Giovanni, e scusa di che poi?? anzi ti ringrazio per la risposta:)
>
> Comunque no, non č quello che cercavo perchč non mi interessano gli
> attributi ( a proposito a cosa serve sapere questi attributi??
> d'altronde li ho settati io no?? e cmq a cosa potrebbero servirmi in
> futuro??), ma il valore in essi contenuti quindi ad esempio se nel
> TEXT_CTRL digito 123 vorrei poter recuperare appunto il valore che č
> "123"
>
> Spero di essermi spiegato un pochino meglio ciauz :)
>
Massimo la getattr serve a questo. Dato il nome 'TEXT_CTRL' ne ritorna
il valore. Quindi nel tuo esempio 123.
Ti faccio un esempio
class miaclasse(object):
def __init__(self,x,y):
self.x=x
self.y=y
if __name__=='__main__':
s=miaclasse(55,66)
print 'x='+getattr(s,'x') # renderā x=55
print 'y='+getattr(s,'y') # renderā y=66
print 'z='+getattr(s,'z') # solleverā eccezione
print 'x='+getattr(s,'x','non lo trovo') # renderā x=55
print 'y='+ getattr(s,'y','non lo trovo') # renderā y=66
print 'z='+getattr(s,'z','non lo trovo') # renderā z= 'non lo trovo'
se esegui questo codice verrā creato un oggetto s della classe
'miaclasse' e gli attributi x e y
verranno settati ai valori passati nel costruttore.
Nell esempio vedi l'uso di getattr per prelevare i valori. Nota che la
terza print solleva un eccezione perchč
nel caso l'attributo non esista (z in questo caso) non č stato previsto
un default.
Nelle tre print seguenti invece si prevede un default e la richiesta di
z fornisce comunque un valore. Di norma si usa per avere un default per
valori opzionali.
Spero che ti possa essere utile. Se no significa che non ho davvero
capito.
Ciao
G
More information about the Python
mailing list