Header Ads Widget

Ticker

6/recent/ticker-posts

Tutorial de funciones de Python

Las funciones son bloques de código con nombre diseñados para realizar un trabajo específico. Las funciones le permiten escribir código una vez que luego se puede ejecutar siempre que necesite realizar la misma tarea. Las funciones pueden recibir la información que necesitan y devolver la información que generan. El uso eficaz de funciones hace que sus programas sean más fáciles de escribir, leer, probar y corregir. En este tutorial, aprenderemos cómo definir una función, cómo pasar argumentos, definir parámetros, establecer valores predeterminados y más.


Cómo definir una función en Python

Para definir una función en Python, puede usar la defpalabra clave. Inmediatamente después de la defpalabra clave está el nombre de la función , y después de eso hay un par de paréntesis ()y dos puntos :El cuerpo de una función tiene una sangría de un nivel. Según PEP 8, la Guía de estilo para código Python, un nivel de sangría debe ser de 4 espacios. Para llamar a una función, simplemente escriba el nombre de la función seguido de paréntesis ().

Definir una función de Python

Hola Mundo!

Argumentos y parámetros de la función Python

Cuando llama a una función, puede pasarle información. Esto es lo que se conoce como argumento . Los argumentos se incluyen entre paréntesis después del nombre de la función cuando se llama a la función. Cuando define una función que espera recibir un fragmento de información, se denomina parámetro . Los parámetros se enumeran entre paréntesis en la definición de la función.

Pasando un solo argumento

¡Hola, Mosely!
¡Hola, Winnie!

Pasar una lista como argumento

Si necesita pasar varios valores a una función a la vez, puede hacerlo usando una listaLa función puede trabajar con los valores de la lista. La lista original se modifica si la función realiza algún cambio en la lista. Si necesita mantener intacta la lista original, puede pasar una copia de la lista como argumento.

Pasando una lista como argumento

¡Hola, Winnie!
¡Hola, Mosely!
¡Hola Bella!
¡Hola, Mugsy!

Permitir que una función modifique una lista

A continuación se muestra cómo se modifica la lista original durante la ejecución de la función. La lista comienza con 4 nombres, pero tiene 0 nombres después de que se ejecuta la función.

['Winnie', 'Mosely', 'Bella', 'Mugsy']
¡Hola, Mugsy!
¡Hola Bella!
¡Hola, Mosely!
¡Hola, Winnie!
[]

Impedir que una función modifique una lista

En este ejemplo, nos aseguramos de que la lista original permanezca intacta pasando una copia de la lista original a la función.

['Winnie', 'Mosely', 'Bella', 'Mugsy']
¡Hola, Mugsy!
¡Hola Bella!
¡Hola, Mosely!
¡Hola, Winnie!
['Winnie', 'Mosely', 'Bella', 'Mugsy']

Argumentos posicionales y de palabras clave

Los argumentos pueden ser posicionales o basados ​​en palabras clave. Los argumentos posicionales simplemente alinean el primer argumento en la llamada a la función con el primer parámetro en la definición de la función, y así sucesivamente. Los argumentos de palabras clave dependen del programador para especificar a qué parámetro debe asignarse cada argumento en la llamada a la función. El orden no importa con los argumentos de palabras clave.

Usando argumentos posicionales

El Subaru WRX es un vehículo ordenado
El Tesla Model 3 es un vehículo elegante
El Tesla Cybertruck es un vehículo elegante

Usar argumentos de palabras clave

El Subaru WRX es un vehículo ordenado
El Tesla Model 3 es un vehículo elegante
El Chevy Corvette es un vehículo ordenado

Valores predeterminados

Puede especificar un parámetro por defecto si lo desea. De esa forma, cuando se llama a la función, si no se proporciona un argumento, se utilizará el valor predeterminado. Los parámetros con valores predeterminados deben aparecer después de los parámetros sin valores predeterminados en la definición de la función para garantizar que los argumentos posicionales seguirán funcionando.

Usando un valor predeterminado

El Subaru WRX es un vehículo ordenado

Usar Ninguno para hacer que un argumento sea opcional

El Subaru es un vehículo ordenado
El Chevy Corvette es un vehículo ordenado

Pasar una cantidad arbitraria de argumentos

Si no sabe cuántos argumentos necesitará una función cuando se la llame, puede usar el *operador de asterisco para recopilar un número arbitrario de argumentos. Un parámetro que acepta un número variable de argumentos debe ser el último en la definición de la función. Si desea hacer esto con argumentos de palabras clave, utilice el **operador de doble asteriscoEstos argumentos se almacenan como un diccionario con los nombres de los parámetros como claves y los argumentos como valores.

Función con un número arbitrario de argumentos

Hacer un sándwich de jamón.
Tiene estas verduras:
- Cebollas

Preparar un sándwich de rosbif.
Tiene estas verduras:
- Lechuga
- Tomate

Hacer un sándwich de pavo.
Tiene estas verduras:
- Lechuga
- Tomate
- Pimientos

Recopilar una cantidad arbitraria de argumentos de palabras clave

Hacer un sándwich de jamón.
Tiene estas verduras:
- Cebollas

Preparar un sándwich de rosbif.
Tiene estas verduras:
- Cebollas
- Pimientos

Hacer un sándwich de pavo.
Tiene estas verduras:
- Olivos
- Espinacas
- Pepinos

Cómo estructurar una función

Hemos visto algunas formas de escribir y llamar funciones hasta ahora. Si se pregunta cuál es la mejor manera de estructurar el código, intente obtener algo que funcione. ¡Ese es el objetivo principal! Con más experiencia, desarrollará un sentido de lo que hace que las diferentes estructuras, como los argumentos posicionales y de palabras clave, sean más ventajosos. Siempre que sus funciones estén haciendo el trabajo que desea, entonces eso es genial.


Valores devueltos

Un trabajo común que hacen las funciones es devolver un valor. En otras palabras, desea poder darle a una función algunos datos y hacer que le devuelva otros datos o valor. Para capturar el valor devuelto de una función, la línea de llamada debe proporcionar una variable a la que se pueda asignar el valor de retorno. Una vez que la función alcanza una declaración de retorno, deja de ejecutarse.

Devolviendo un solo valor

Ricky Gervais

Devolver un diccionario

{'tipo': 'Colonial', 'dormitorios': 3}

Devolver un diccionario con valores opcionales

{'tipo': 'Colonial', 'dormitorios': 3}
{'tipo': 'Colonial', 'dormitorios': 2, 'piscina': 'No'}

Módulos

En Python, las funciones pueden almacenarse en un archivo separado y luego importarse cuando sea necesario. Esto es lo que se conoce como módulo . Los módulos facilitan archivos de programa más limpios. Cuando utilice un módulo, querrá almacenar el archivo del módulo en el mismo directorio que el programa principal.

Almacenar una función en un módulo

sandwichera.py

Importar un módulo completo

functions.py
Todas las funciones del módulo están disponibles en el archivo del programa.

Hacer un sándwich de pastrami.
Tiene estas verduras:
- Lechuga
- Tomate

Hacer un sándwich de carne en conserva.
Tiene estas verduras:
- Pepinillos
- Jalapeños

Importar una función específica

Solo las funciones importadas están disponibles en el archivo del programa.

Hacer un sándwich de huevo.
Tiene estas verduras:
- Lechuga
- Tomate

Hacer un sándwich de carne.
Tiene estas verduras:
- Pepinillos
- Saborear

Dar un alias a un módulo

Hacer un sándwich de jamón con miel.
Tiene estas verduras:
- Espinacas
- Tomate

Preparar un sándwich de rosbif Angus.
Tiene estas verduras:
- Avacado
- Tomate secado al sol

Dar un alias a una función

Importar todas las funciones de un módulo

Es posible importar todas las funciones usando el comodín, pero puede resultar en conflictos de nombres, que pueden causar errores. Es mejor evitar esta práctica


Resumen del tutorial de funciones de Python

Todos los lenguajes de programación le permiten agrupar una secuencia de instrucciones que desea reutilizar como mejor le parezca. Python no es diferente y también brinda la capacidad de simplificar programas haciendo uso de estas piezas reutilizables de funcionalidad. Una función es solo un fragmento de código que se usa para completar una tarea específica. Las funciones pueden hacer uso de los datos que se les pasan y pueden devolver varios tipos de datos, aunque no es necesario.


Publicar un comentario

0 Comentarios