Definición de funciones
Tal como vimos, una buena práctica para la programación y el cálculo científico consiste en evitar la duplicidad de código. Las funciones permiten agrupar instrucciones que se pueden ejecutar usando sólo un comando, el nombre de la función. Facilitan la automatización y el mantenimiento, corrección, mejora de nuestro código.
Cómo definir una función
Parámetros de una función
A la hora de definir una función, es posible especificar los parámetros que admite. Permitirán al usuario pasar a esos parámetros unos valores (llamados argumentos de la función) que modificarán el resultado de la llamada a la función.
Parámetros de una función
Escribir documentación para mi función
Otra buena práctica es escribir documentación para el código que escribis. Servirá a otros usuarios que lean vuestro código, pero también a vosotros mismos, cuando volváis a este proyecto en algún tiempo. Os alegraréis de que hayais dedicado algún tiempo a documentar vuestras funciones, indicando cuál es su objetivo y su esquema de funcionamiento.
Be kind to you and others!
Lecturas adicionales:
Si estáis interesados, aquí tenéis un tutorial bastante completo sobre documentar vuestro código Python: https://realpython.com/documenting-python-code/
La especificación docstring para Python está descrito en el PEP257
Módulos y librerías
Los módulos son ficheros .py que contienen definiciones e instrucciones. Permiten organizar el código y compartirlo con otros. Una librería se refiere a una colección de módulos. En Python, el ecosistema de módulos y paquetes contribuidos por la comunidad es extremadamente rico y permiten llevar a cabo una enorme variedad de tareas
Métodos y atributos de objetos
Los módulos definen clases que son plantillas de objetos relevantes para el problema que tratan.
Para manipular estos objetos, por ejemplo un fichero o un conjunto de datos, el módulo define métodos y atributos asociados a una instancia de un objeto.
Métodos y atributos
Ejercicio
En un fichero ejercicios_introduccion.py que habéis elaborado ya en la unidad anterior, resolved los siguientes ejercicios:
- Ejercicio 5: escribid una función que tenga n como parámetro y devuelve True si n es un número primo y False en otro caso.
- Ejercicio 6: Añadid un bloque de código que solicite al usuario un entero n y que imprima todos los números primos menores o iguales que n.