Funciones de Python (def): definición con ejemplos

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.

  1. Palabra clave defque marca el inicio del encabezado de la función.
  2. 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.
  3. Parámetros (argumentos) a través de los cuales pasamos valores a una función. Son opcionales.
  4. Dos puntos (:) para marcar el final del encabezado de la función.
  5. Cadena de documentación opcional (docstring) para describir lo que hace la función.
  6. 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).
  7. Una returndeclaració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 returndeclaració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 returndeclaración en sí no está presente dentro de una función, la función devolverá el Noneobjeto.

Por ejemplo:

 >>> print(greet("May")) Hello, May. Good morning! None

Aquí, Noneestá el valor devuelto ya greet()que imprime directamente el nombre y no returnse 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?

Trabajo de funciones 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:

  1. Funciones integradas: funciones integradas en Python.
  2. Funciones definidas por el usuario: funciones definidas por los propios usuarios.

Articulos interesantes...