Funciones de Python

Una función nos permite crear un conjunto de instrucciones que podemos ejecutar cuando sea necesario.

Las funciones son esenciales enPythony en muchos otros lenguajes de programación para crear programas significativos, porque nos permiten descomponer un programa en partes manejables, promueven la legibilidad y la reutilización del código.

Aquí hay una función de ejemplo llamadahelloque imprime "¡Hola!":

def hello():
    print('Hello!')

Esta es la funciondefinición. Hay un nombrehello) y un cuerpo, el conjunto de instrucciones, que es la parte que sigue a los dos puntos y tiene sangría en un nivel a la derecha.

Para ejecutar esta función, debemos llamarla. Esta es la sintaxis para llamar a la función:

hello()

Podemos ejecutar esta función una o varias veces.

El nombre de la función,hello, es muy importante. Debe ser descriptivo, de modo que cualquiera que lo llame pueda imaginar lo que hace la función.

Una función puede aceptar uno o más parámetros:

def hello(name):
    print('Hello ' + name + '!')

En este caso llamamos a la función pasando el argumento

hello('Roger')

Llamamosparámetroslos valores aceptados por la función dentro de la definición de función, yargumentoslos valores que pasamos a la función cuando la llamamos. Es común confundirse con esta distinción.

Un argumento puede tener un valor predeterminado que se aplica si no se especifica el argumento:

def hello(name='my friend'):
    print('Hello ' + name + '!')

hello() #Hello my friend!

Así es como podemos aceptar varios parámetros:

def hello(name, age):
    print('Hello ' + name + ', you are ' + str(age) + ' years old!')

En este caso llamamos a la función pasando un conjunto de argumentos:

hello('Roger', 8)

Los parámetros se pasan por referencia. Todos los tipos en Python son objetos, pero algunos de ellos son inmutables, incluidos enteros, booleanos, flotantes, cadenas y tuplas. Esto significa que si los pasa como parámetros y modifica su valor dentro de la función, el nuevo valor no se refleja fuera de la función:

def change(value):
    value = 2

val = 1 change(val)

print(val) #1

Si pasa un objeto que no es inmutable y cambia una de sus propiedades, el cambio se reflejará en el exterior.

Una función puede devolver un valor, usando elreturndeclaración. Por ejemplo, en este caso devolvemos elnamenombre del parámetro:

def hello(name):
    print('Hello ' + name + '!')
    return name

Cuando la función cumple conreturndeclaración, la función termina.

Podemos omitir el valor:

def hello(name):
    print('Hello ' + name + '!')
    return

Podemos tener la declaración de retorno dentro de un condicional, que es una forma común de finalizar una función si no se cumple una condición inicial:

def hello(name):
    if not name:
        return
    print('Hello ' + name + '!')

Si llamamos a la función pasando un valor que se evalúa comoFalse, como una cadena vacía, la función se termina antes de alcanzar elprint()declaración.

Puede devolver varios valores utilizando valores separados por comas:

def hello(name):
    print('Hello ' + name + '!')
    return name, 'Roger', 8

En este caso llamandohello('Syd')el valor de retorno es una tupla que contiene esos 3 valores:('Syd', 'Roger', 8).


Más tutoriales de Python: