[Python] Domanda concettuale sul funzionamento di Python.
Gabriele Battaglia
iz4apu a libero.it
Mer 4 Nov 2020 11:45:21 CET
Giorno.
Cerco di spiegarmi nella maniera più semplice e completa.
Io ho un main che chiama una funzione, mettiamo... un milione di volte.
Questa funzione ha il compito di contare, con un ciclo for, da
...mettiamo 1 a 1000, non è importante.
Durante questo ciclo di 1000 ripetizioni, potrebbe verificarsi un evento
che fa ritornare la funzione al main.
Tipo, if blablabla: return
L'evento potrebbe esserci oppure no.
Bene, dopo il milione di chiamate, avrò che una percentuale di cicli si
è conclusa arrivando a 1000, altri invece sono stati interrotti.
A livello di occupazione della memoria, quelli interrotti da return,
hanno lasciato traccia? Stanno occupando memoria? Sono messi in una
specie di stack di trace perchè Python si aspetta di poterli riprendere,
oppure il return fa immediatamente annullare (dimenticare) il ciclo in
corso?
A livello di ottimizzazione, se allo scatenarsi dell'evento dentro al
ciclo for avessi usato un break e poi una istruzione condizionale fuori
dal ciclo: se evento, allora return, sarebbe stato meglio oppure la
stessa cosa?
Spero di essere riuscito a spiegarmi.
Gabriele.
--
Gabriele Battaglia, IZ4APU (Libero)
Sent from TB on Windows 10, Genus Bononiae's computer.
Maggiori informazioni sulla lista
Python