Módulos y paquetes
Python, como muchos otros lenguajes, cuenta con una enorme biblioteca de funciones o conjuntos de funciones que, o vienen ya preinstaladas o podemos instalarlas de manera independiente. A este conjunto de funciones se los conoce como librerías.
Estas funciones ya se encuentran programadas y nos ahorran mucho tiempo a la hora de programar, ya que no tenemos que enseñarle a nuestro programa cómo hacer algo, simplemente ya se encuentra hecho por alguien más y podemos usarlo.
Otra cosa que nos permite hacer Python es crear nuestros propios módulos e importarlos a nuestro programa principal, permitiéndonos así, una mayor organización en nuestro código. Ahora vamos a ver con ejemplos de qué trata este tema:
random
- Como su nombre lo indica, este módulo nos importa las funciones que nos permiten generar números “aleatorios”. Veamos su sintáxis básica:
# Importamos el módulo
import random
# Imprimimos dos números enteros generados con las funciones del módulo
print ('Número aleatorio 1: ',random.random())
print (f'Número aleatorio 2: {random.random()}')
- Otra de las particularidades de este módulo, es que podemos asignarle un rango (mínimo y máximo) en donde deberá trabajar para devolver un número aleatorio y también los pasos que debe dar entre número y número. A esto lo hacemos con la función “.randint()”:
import random
# Imprimir número aleatorio entre 4 y 16
print (random.randint(4,16))
# Imprimir número aleatorio entre 3 y 27, separándolos de a 3
print (random.randint(3,27,3))
- Podemos desordenar los elementos de una lista, si utilizamos el método “.shuffle()”:
import random
# Definimos la lista y luego la mezclamos
lista1 = [0,1,2,3,4,5,6,7,8,9]
random.shuffle(lista1)
print (f"Lista mezclada: {lista1}")
- Algo súper interesante, es la posibilidad de imprimir aleatoriamente un elemento de una lista y al mismo tiempo, asignarle “peso” a los elementos para modificar las probabilidades de los mismos según lo necesitemos.
Para ello, utilizaremos la función “.choices()” y le daremos como parámetro la lista, le asignaremos los pesos en orden con weights:
import random
lista1 = [151,251,351,451,551]
print (random.choices(lista1, weights=(10,20,30,40,50), k=5))
NOTA: “k” es un parámetro opcional y se utiliza para declarar el tamaño de nuestra lista que retornamos.
Estadísticas
Para los matemáticos del foro, Python cuenta con una amplia gama de librerías para ello. En este curso sólo vamos a hacer una demostración, pero pueden explorar las librerías del lenguaje y encontrar todo lo que necesiten.
Vamos a comenzar con la librería “statistics”, la cual es usada para trabajar con estadísticas matemáticas. Gracias a esta librería, podemos calcular cosas como:
- Mean: El promedio de un grupo de números:
import statistics
calificaciones = [6,7,2,6,3,5,5,5,2,5,6,1,2]
a = statistics.mean(calificaciones)
print(a)
- Median: El número medio o punto medio de los datos (cuando los números son listados de manera ascendente), es la mitad de la diferencia entre el menor valor y el mayor valor:
import statistics
calificaciones = [6,7,2,6,3,5,5,5,2,5,6,1,2]
b = statistics.median(calificaciones)
print (b)
- Mode: Con esta función, podemos buscar el valor que aparece con mayor frecuencia:
import statistics
calificaciones = [6,7,2,6,3,5,5,5,2,5,6,1,2]
c = statistics.mode(calificaciones)
print (c)
- Low median: Esta función es similar a median, con la diferencia de que en lugar de arrojar el valor medio, nos devolverá el elemento de la lista más cercano a dicho punto medio:
import statistics
lista1 = [20, 40, 60, 80, 100]
print (f"Low median: {statistics.median_low(lista1)}")
- High median: Nos devolverá el valor que está inmediatamente por encima del valor medio:
import statistics
lista1 = [15, 30, 45, 60]
print (f"High median: {statistics.median_high(lsita1)}")
- Variance: Nos mostrará la variación de los datos o la medida en la que estos varían:
import statistics
numeros_grandes = [70, 90, 50, 85, 65, 83, 94]
grandes_mean = statistics.mean(numeros_grandes)
print (f"La variación de los datos es: {statistics.variance(numeros_grandes, grandes_mean)}")
- Standard deviation: Se usa para mostrar que tanta variación con respecto al promedio existe:
import statistics
numeros_grandes = [70, 90, 50, 85, 65, 83, 94]
stanDev = statistics.stdev(numeros_grandes)
print (f"La desviación estándar es: {stanDev}")
Importar otros scripts de Python como módulos
Nosotros también podemos crear nuestras propias librerías de código en Python. Para hacerlo, necesitamos escribir todas las funciones necesarias en un segundo script y colocarlo en el mismo directorio en el que se encuentra el script principal:
- main.py (script principal):
from segundo_script import sumar_numeros
primer_numero = int (input ("Ingrese el primer número: "))
segundo_numero = int (input ("Ingrese el segundo número: "))
resultado = sumar_numeros(primer_numero, segundo_numero)
print (resultado)
- segundo_script.py (script secundario o script librería):
def sumar_numeros(X, Y):
A = X
B = Y
resultado = A + B
return resultado
La carpeta “pycache” se creará automáticamente luego de la primera ejecución de main.py
- Podemos importar sólo las funciones que necesitemos utilizando la línea:
from [librería] import [método]
- También podemos importar todo el script librería completo con todas sus funciones:
import [librería]
- Otra de las fantásticas opciones de Python, es la posibilidad de asignarle un alias a una librería para que nos sea más fácil llamarla o utilizarla:
import libreria as lib
lib.imprimir_random()
<Tema anterior - Tema siguiente en desarrollo>