Forum
>>
Principianti
>>
print vs return
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da guinomeip |
2022-09-14 11:25:57 - print vs return
|
Buongiorno,
non riesco a capire la differenza tra print e return. Nel prima caso: def pot(esp): """Le potenze di due""" for x in range(esp+1): print(f"Due alla {x} → {2**x}") pot(10)l'output sarà: Due alla 0 → 1 Due alla 1 → 2 Due alla 2 → 4 Due alla 3 → 8 Due alla 4 → 16 Due alla 5 → 32 Due alla 6 → 64 Due alla 7 → 128 Due alla 8 → 256 Due alla 9 → 512 Due alla 10 → 1024 Mentre con return: def pot(esp): """Le potenze di due""" for x in range(esp+1): return f"Due alla {x} → {2**x}" pot(10)l'output si ferma a : Due alla 0 → 1 Come mai? |
|
Scritto da Daniele aka Palmux |
2022-09-14 16:43:29 - Re: print vs return
|
Ciao caro, fossi in te non paragonerei print a return, perché hanno due scopi diversi.
Se print serve a stampare un messaggio a video, return ritorna "qualcosa" dall'interno della funzione ed oltretutto questo non sarà stampato a video. Quindi nel tuo caso print stamperà il valore ad ogni passaggio del for, mentre l'invocazione del return farà terminare l'esecuzione della funzione al primo passaggio. Vista la domanda ti consiglio la lettura di una buona documentazione, online o cartacea vedi tu, queste sono nozioni importanti che devi padroneggiare con una certa sicurezza. Cya |
|
Scritto da guinomeip |
2022-09-14 22:17:44 - Re: print vs return
|
Ho letto tanta documentazione, sia online sia cartacea, tuttavia ancora non ho capito perché print si comporta così e return si comporta cosà.
|
|
Scritto da Daniele aka Palmux |
2022-09-15 08:33:12 - Re: print vs return
|
Ora lo hai capito?
|
|
Scritto da guinomeip |
2022-09-15 13:24:45 - Re: print vs return
|
No, non capisco perché return termini l'esecuzione della funzione al primo passaggio invece di eseguirla tutta.
|
|
Scritto da Daniele aka Palmux |
2022-09-15 20:48:42 - Re: print vs return
|
Termina perché gli hai dato il return e quindi la funzione termina, dipende esattamente da quello che stai imputando a Python.
Ti ripeto di non paragonare return a print, hanno scopi diversi. Senza inserire concetti un po' più avanzanti (generatori), devi solo capire che il comportamento di return è quello. Anche se una funzione può avere più return, quando ne verrà eseguito uno, la funzione terminerà, semplicemente questo, non c'è nulla di segreto. Se nelle guide che stai leggendo non ti spiegano una cosa così basilare, pensa ad cambio di documentazione, magari da un'occhiata a https://pythonitalia.github.io/python-abc/ per esempio. Cya |
Pagina: 1
Esegui il login per scrivere una risposta.