2013-06-11 12 views
8

Ho iniziato a leggere "Beginning python from novice to professional" di Magnus Lie Hetland e ciò che mi ha colpito oggi è la capacità di un oggetto di creare nuove variabili membro, anche se quelle variabili membro non erano presenti nella classe da cui l'oggetto è stato "creato". Ecco un esempio:Aggiunta di nuove variabili membro agli oggetti Python?

class Test: 
    pass 

b = Test() 

b.variable1 = 12 
b.variable2 = "Jim" 

print b.variable1 
print b.variable2 

Fino ad ora ho pensato che oggetti potrebbero modificare solo i valori dei membri presenti nella classe padre, ma non crearne di nuovi dal nulla? Btw non avevo conoscenze precedenti di programmazione o python.

+2

Sì, python consente di aggiungere nuovi campi agli oggetti al volo. – Andrew

+2

Qual è la tua domanda esattamente? – mgilson

+1

Ci scusiamo per non essere chiari. Il codice superiore (o principio) non era nel libro, l'ho scoperto per caso. Quindi ho pensato di avere qualcosa di sbagliato. Andrew ha confermato che questo non è il caso. Quindi penso che sia proprio quello che volevo sapere. Grazie. – stgeorge

risposta

5

Un esempio simile è fornito nello Python Docs. In base a ciò, questa notazione viene usata per legare insieme un paio di oggetti nominati. Questo è ciò che Python ti permette di fare.

+0

Grazie per la risposta Sukrit. Questo documento di Python è semplicemente troppo avanzato per me. – stgeorge