Ciao a tutti,

vorrei sfruttare la possibilità di annidare le funzioni di python in questo modo:

def solve():
    a1=100
    a2=1
    def nodeA():
        a=a1
        b=20
        def nodeB():
            c=a+b
            return {'a':a,'c':c}
        return {'a':a,'b':b,'nodneB':nodeB()}
    def nodeC():
        a=a2
        b=20
        def nodeB():
            a=1999
            c=a+b
            return {'a':a,'c':c}
        return {'a':a,'b':b,'nodneB':nodeB()}

    return nodeA(),nodeC()

print "A",solve()

e' solo un codice di studio, quindi il ritorno delle varie funzioni non e' particolarmente importante per ora. in pratica il mio codice dovrebbe creare questa sruttura a runtime e "compilarla" e prendere il valore di solve() "Questo lo so gia fare" ...
tutto questo per sfruttare gli scope di python ..

a questo punto vi chiedo?

* quante volte posso annidare una funzione dentro un altra prima che python si incazzi ? * c'è qualche problema di performance nell'annidare le funzioni in questo modo ? * c'è un modo alternativo di implementare sta roba ottenendo il comportamento dello scope di python.

qualsiasi idea e benvenuta..

ciao
Matteo





_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a