Forum >> Principianti >> print vs return

Pagina: 1

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?

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
Ho letto tanta documentazione, sia online sia cartacea, tuttavia ancora non ho capito perché print si comporta così e return si comporta cosà.
Ho letto tanta documentazione, sia online sia cartacea, tuttavia ancora non ho capito perché print si comporta così e return si comporta cosà.
Ora lo hai capito?
No, non capisco perché return termini l'esecuzione della funzione al primo passaggio invece di eseguirla tutta.
No, non capisco perché return termini l'esecuzione della funzione al primo passaggio invece di eseguirla tutta.
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.