[Python] Annidamento di funzioni

Marco Giusti marco.giusti a gmail.com
Ven 22 Mar 2013 10:23:06 CET


On Thu, Mar 21, 2013 at 09:31:11PM +0000, Daniele Varrazzo wrote:
> On 2013-03-21 19:16, Matteo Boscolo wrote:
> 
> >* quante volte posso annidare una funzione dentro un altra prima che
> >python si incazzi ?
> 
> Nell'ordine della dimensione dello stack direi, per cui tu ti
> scoccierai molto prima di quando l'interprete perderà la pazienza.
> 
> >* c'è qualche problema di performance nell'annidare le funzioni in
> >questo modo ?
> 
> No: in realtà le funzioni vengono compilate quando il modulo è
> importato, insieme a quelle esterne, e non quando la funzione
> interna viene chiamata: la loro compilazione è statica. Quello che
> fa il "def" è solo creare una "chiusura", ovvero associare l'oggetto
> di codice al valore delle variabili non-locali. Un po' di curiosità
> nell'interprete interattivo aiuta a capire:

molto interessante.

> La programmazione a oggetti è un modo inferiore di fare la stessa
> cosa: associare uno stato a del codice. La sto buttando un po'
> trollosa
[...]

credo di aver capito cosa intendi ma mi sembra un po' riduttivo ridurre
la programmazione ad oggetti a questo.


Maggiori informazioni sulla lista Python