Introducción básica a Python, parte II: funciones y módulos.

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

  Pulsa en cada pestaña

Importar módulos

Módulos externos

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.