En este artículo, aprenderá sobre funciones, qué es una función, la sintaxis, los componentes y los tipos de funciones. Además, aprenderá a crear una función en Python.
Video: Introducción a las funciones de Python
¿Qué es una función en Python?
En Python, una función es un grupo de declaraciones relacionadas que realiza una tarea específica.
Las funciones ayudan a dividir nuestro programa en partes más pequeñas y modulares. A medida que nuestro programa crece cada vez más, las funciones lo hacen más organizado y manejable.
Además, evita la repetición y hace que el código sea reutilizable.
Sintaxis de la función
def function_name (parámetros): "" "docstring" "" declaración (es)
Arriba se muestra una definición de función que consta de los siguientes componentes.
- Palabra clave
def
que marca el inicio del encabezado de la función. - Un nombre de función para identificar de forma exclusiva la función. La denominación de funciones sigue las mismas reglas de escritura de identificadores en Python.
- Parámetros (argumentos) a través de los cuales pasamos valores a una función. Son opcionales.
- Dos puntos (:) para marcar el final del encabezado de la función.
- Cadena de documentación opcional (docstring) para describir lo que hace la función.
- Una o más declaraciones de Python válidas que componen el cuerpo de la función. Las declaraciones deben tener el mismo nivel de sangría (normalmente 4 espacios).
- Una
return
declaración opcional para devolver un valor de la función.
Ejemplo de una función
def greet(name): """ This function greets to the person passed in as a parameter """ print("Hello, " + name + ". Good morning!")
¿Cómo llamar a una función en Python?
Una vez que hemos definido una función, podemos llamarla desde otra función, programa o incluso desde el indicador de Python. Para llamar a una función, simplemente escribimos el nombre de la función con los parámetros apropiados.
>>> greet('Paul') Hello, Paul. Good morning!
Nota: intente ejecutar el código anterior en el programa Python con la definición de función para ver el resultado.
def greet(name): """ This function greets to the person passed in as a parameter """ print("Hello, " + name + ". Good morning!") greet('Paul')
Docstrings
La primera cadena después del encabezado de la función se llama docstring y es la abreviatura de cadena de documentación. Se utiliza brevemente para explicar qué hace una función.
Aunque es opcional, la documentación es una buena práctica de programación. A menos que pueda recordar lo que cenó la semana pasada, documente siempre su código.
En el ejemplo anterior, tenemos una cadena de documentos inmediatamente debajo del encabezado de la función. Generalmente usamos comillas triples para que la cadena de documentos pueda extenderse hasta varias líneas. Esta cadena está disponible para nosotros como __doc__
atributo de la función.
Por ejemplo :
Intente ejecutar lo siguiente en el shell de Python para ver el resultado.
>>> print(greet.__doc__) This function greets to the person passed in as a parameter
Para obtener más información sobre las cadenas de documentos en Python, visite Python Docstrings.
La declaración de devolución
La return
declaración se usa para salir de una función y volver al lugar desde donde fue llamada.
Sintaxis de retorno
return (lista_expresión)
Esta declaración puede contener una expresión que se evalúa y se devuelve el valor. Si no hay expresión en la declaración o la return
declaración en sí no está presente dentro de una función, la función devolverá el None
objeto.
Por ejemplo:
>>> print(greet("May")) Hello, May. Good morning! None
Aquí, None
está el valor devuelto ya greet()
que imprime directamente el nombre y no return
se usa ninguna declaración.
Ejemplo de devolución
def absolute_value(num): """This function returns the absolute value of the entered number""" if num>= 0: return num else: return -num print(absolute_value(2)) print(absolute_value(-4))
Salida
2 4
¿Cómo funciona la función en Python?

Alcance y vida útil de las variables
El alcance de una variable es la parte de un programa donde se reconoce la variable. Los parámetros y variables definidos dentro de una función no son visibles desde fuera de la función. Por tanto, tienen un alcance local.
La vida útil de una variable es el período durante el cual la variable sale de la memoria. La vida útil de las variables dentro de una función es tan larga como la función se ejecuta.
Se destruyen una vez que regresamos de la función. Por lo tanto, una función no recuerda el valor de una variable de sus llamadas anteriores.
A continuación, se muestra un ejemplo para ilustrar el alcance de una variable dentro de una función.
def my_func(): x = 10 print("Value inside function:",x) x = 20 my_func() print("Value outside function:",x)
Salida
Value inside function: 10 Value outside function: 20
Here, we can see that the value of x is 20 initially. Even though the function my_func()
changed the value of x to 10, it did not affect the value outside the function.
This is because the variable x inside the function is different (local to the function) from the one outside. Although they have the same names, they are two different variables with different scopes.
On the other hand, variables outside of the function are visible from inside. They have a global scope.
We can read these values from inside the function but cannot change (write) them. In order to modify the value of variables outside the function, they must be declared as global variables using the keyword global
.
Types of Functions
Basically, we can divide functions into the following two types:
- Funciones integradas: funciones integradas en Python.
- Funciones definidas por el usuario: funciones definidas por los propios usuarios.