[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