¿Por qué necesito la declaración total de ‘retorno’ en estas dos líneas si ya tengo la declaración ‘imprimir’ con la variable ‘total’?

Acabo de ejecutar su programa, reemplazando sus comentarios, eliminando puntos y comas y sangrando un poco.

Programa (Versión 1)

total = 0
suma de def (arg1, arg2):
total = arg1 + arg2
print “Dentro de la función local total:”, total
retorno total
suma (10, 20)
print “Fuera de la función total global:”, total

Aquí, no sirve de nada devolver el total. La salida será la misma sin ella.

Salida

Dentro de la función local total: 30
Fuera de la función global total: 0

Pero, este no es el caso si cambio la línea 6 en el programa.

Programa (Versión 2)

total = 0
suma de def (arg1, arg2):
total = arg1 + arg2
print “Dentro de la función local total:”, total
retorno total
total = suma (10, 20)
print “Fuera de la función total global:”, total

Asigné la sum(10,20) al total . ¡Ahora, esa declaración de retorno tiene significado ya que también modifica el total global!

Dentro de la función local total: 30
Fuera de la función total global: 30

¡Espero que esto aclare las cosas! 😉

No necesita la declaración de devolución.

El retorno le permite asignar el valor devuelto por la función a otra variable más adelante en el programa.

Entonces, con el retorno puedes hacer:

total = 0 # variable global

suma de def (arg1, arg2):
# Agregue ambos parámetros y devuélvalos. “\
total = arg1 + arg2
# Aquí el total es una variable local.
print (“Dentro de la función local total:”, total)
retorno total

# Ahora puede llamar a la función suma sum (10, 20);
print (“Fuera de la función total global:”, total)

nuevo_total = suma (10,20)
print (“Valor de retorno de la función:”, nuevo_total)

Sin una declaración de devolución, simplemente no puede acceder a la variable `total` creada dentro de la función:

total = 0 # variable global

suma de def (arg1, arg2):
# Agregue ambos parámetros y devuélvalos. “\
total = arg1 + arg2
# Aquí el total es una variable local.
print (“Dentro de la función local total:”, total)
#! sin declaración de devolución!

# Ahora puede llamar a la función suma sum (10, 20);
print (“Fuera de la función total global:”, total)

# las siguientes líneas no son válidas
nuevo_total = suma (10,20)
print (“Valor de retorno de la función:”, nuevo_total)

Espero que esto tenga sentido!

Imprima solo los resultados en la pantalla (consulte las clases de E / S del idioma con el que esté trabajando), mientras que return extrae la variable del ámbito local de la función en el ámbito global para su uso posterior. Si la salida de la variable en la pantalla es su propósito final para esa variable, entonces no necesita devolverla a ningún lado. Si desea utilizarlo en un ámbito global o en el ámbito de otra función, lo devuelve desde esta función y lo captura en otra variable del ámbito más general.

¿Es tarea de la función calcular y devolver un valor, o calcular y mostrar un valor? ¿O para hacer las dos cosas?

Responder esa pregunta te dará la respuesta que buscas.