IES N° 1 – Abra Pampa
Programación II
Módulos y librerías
En Python, un módulo es un archivo que contiene definiciones y declaraciones de Python, incluyendo
funciones, clases y variables. Los módulos se utilizan para organizar y reutilizar el código, lo que facilita la
creación de programas más grandes y mantenibles.
Una librería o biblioteca en Python suele referirse a un conjunto de módulos que se agrupan juntos para
proporcionar funcionalidades relacionadas. Por ejemplo, Python posee una librería estándar que incluye
módulos como math, os, y sys que permiten realizar diversas tareas.
Instalar una librería en Python de forma manual
Si se necesita utilizar alguna librería no estándar, o sea, que no viene preinstalada, se debe instalarla de
forma manual.
Para instalar, en VSCode, abrir una terminal y escribir:
pip install scikit-learn
En PyCharm:
IES N° 1 – Abra Pampa
Programación II
Importar módulos
Para poder utilizar módulos estándares o descargados e instalados en el sistema, se deben importarlos al
programa que se está desarrollando.
En Python, import es una palabra clave que se utiliza para cargar un módulo en un programa en
desarrollo. Cuando se usa import, Python trae todo el contenido del módulo especificado para que se
puedan utilizar las funciones, clases, variables u otros elementos definidos en ese módulo.
Cuando se ejecuta una declaración import, Python busca el módulo en una lista de directorios que
incluye el directorio actual, las rutas especificadas en la variable de entorno PYTHONPATH, y las rutas de
instalación de Python. Si el módulo no se encuentra en el sistema, se deberá instalarlo. Luego, si
encuentra el módulo, Python lo carga en la memoria ya estaría listo para ejecutar el código de ese
módulo.
Diferentes formas de importar:
Importar el módulo completo:
Cuando se importa un módulo completo, se carga todo su contenido (funciones, variables, clases, etc.) y
se pueden usar a través del nombre del módulo. Esto es útil si se necesita acceder a varias partes del
módulo. Como ventaja, se tiene un acceso completo a todas sus funciones. Como desventaja, puede ser
menos eficiente si solo necesitas una pequeña parte del módulo, ya que, si el módulo tiene muchos
elementos, puede ocupar más memoria.
Ejemplo:
import math
print([Link](9))
Importar solo partes específicas:
Permite importar solo las partes específicas (funciones, variables, clases) que se necesitan del módulo.
No es necesario usar el nombre del módulo como prefijo, lo que puede hacer el código más limpio si solo
se necesita una o dos funciones. Esta manera de usar el import es más eficiente en términos de
memoria si solo necesitas partes pequeñas del módulo, pero puede ser menos claro de dónde proviene
una función o variable si no se ve el nombre del módulo.
Ejemplo:
from math import sqrt
print(sqrt(9))
Importar con alias:
Importar un módulo con un alias permite renombrar el nombre del módulo cuando se está
programando. Esto es útil para acortar nombres de módulos largos o cuando se trabaja con varios
módulos con nombres similares. Hace que el código sea más conciso y menos propenso a errores
tipográficos. Es útil cuando el nombre del módulo es largo o se usa con frecuencia
Ejemplo:
import math as m
print([Link](9)) # en este caso, se usará m en vez de math
Módulos de Python
Python en su versión 3 tiene varios módulos importantes que son ampliamente utilizados debido a su
funcionalidad y versatilidad. A continuación, se presentan algunos módulos comunes y sus usos:
math
Proporciona funciones matemáticas para operaciones numéricas avanzadas, como cálculos
trigonométricos, logarítmicos y exponenciales. Las funciones principales del módulo math son:
IES N° 1 – Abra Pampa
Programación II
Funciones Aritméticas Básicas
[Link](x): Devuelve el entero más pequeño mayor o igual a x.
[Link](x): Devuelve el entero más grande menor o igual a x.
[Link](x): Devuelve el valor absoluto de x como un número flotante.
[Link](x): Devuelve el factorial de x, donde x debe ser un entero no negativo.
Funciones de Potencias y Logaritmos
[Link](x): Devuelve e elevado a la potencia x, donde e es la base de los logaritmos naturales.
[Link](x, base): Devuelve el logaritmo de x en la base especificada. Si no se especifica la base,
calcula el logaritmo natural (base e).
[Link](x, y): Devuelve x elevado a la potencia y.
[Link](x): Devuelve la raíz cuadrada de x.
Funciones Trigonométricas
[Link](x): Devuelve el seno de x (en radianes).
[Link](x): Devuelve el coseno de x (en radianes).
[Link](x): Devuelve la tangente de x (en radianes).
[Link](x): Devuelve el arco seno de x, es decir, el ángulo cuyo seno es x.
[Link](x): Devuelve el arco coseno de x.
[Link](x): Devuelve el arco tangente de x.
[Link](x, y): Devuelve la hipotenusa de un triángulo rectángulo con lados x e y.
Constantes
[Link]: La constante pi (π), aproximadamente 3.14159.
math.e: La base de los logaritmos naturales, aproximadamente 2.71828.
Ejemplos:
import math
# Ejemplo 1: Redondeo
num = 3.7
redondeado = [Link](num) # Redondea hacia abajo
print(redondeado) # Salida: 3
# Ejemplo 2: Funciones trigonométricas
angulo = [Link](45) # Convierte de grados a radianes
seno = [Link](angulo)
coseno = [Link](angulo)
print(seno, coseno) # Salida: 0.7071067811865476 0.7071067811865475
# Ejemplo 3: Valor absoluto
numero_negativo = -5
IES N° 1 – Abra Pampa
Programación II
absoluto = [Link](numero_negativo)
print(absoluto) # Salida: 5.0
# Ejemplo 4: Exponenciación y raíz cuadrada
base = 2
exponente = 3
potencia = [Link](base, exponente)
raiz_cuadrada = [Link](potencia)
print(potencia, raiz_cuadrada) # Salida: 8.0 2.8284271247461903
random
El módulo random se utiliza para generar números aleatorios y realizar operaciones relacionadas con la
aleatoriedad. Es ampliamente usado en aplicaciones que requieren simulación, pruebas, generación de
datos aleatorios, y más. Las funciones más utilizadas del módulo random son:
Generación de números aleatorios
[Link](): Devuelve un número flotante aleatorio entre 0.0 y 1.0, por ejemplo: 0.37454679061
[Link](a, b): Devuelve un número flotante aleatorio entre a y b.
Ejemplo: [Link](1, 10) podría devolver 5.645736837963254.
[Link](a, b): Devuelve un número entero aleatorio entre a y b (ambos inclusive).
Ejemplo: [Link](1, 10) podría devolver 7.
Selección y mezclado de secuencias
[Link](seq): Devuelve un elemento aleatorio de una secuencia no vacía (como una lista, tupla,
o cadena).
Ejemplo: [Link](['rojo', 'verde', 'azul']) podría devolver 'verde'.
[Link](x[, random]): Mezcla (reordena aleatoriamente) los elementos de una lista.
Ejemplo: x = [1, 2, 3, 4]; [Link](x) podría modificar x a [3, 1, 4, 2].
Ejemplos:
import random
# Ejemplo 1: Generación de números aleatorios
numero_aleatorio = [Link]() # Genera un número aleatorio entre 0 y 1
print(numero_aleatorio) # Salida: un número decimal aleatorio entre 0 y 1
# Ejemplo 2: Elección aleatoria de un elemento de una lista
lista = ["manzana", "naranja", "plátano", "kiwi"]
fruta_aleatoria = [Link](lista)
print(fruta_aleatoria) # Salida: una fruta aleatoria de la lista
# Ejemplo 3: Barajado aleatorio de una lista
[Link](lista)
print(lista) # Salida: la lista original con sus elementos barajados de forma
aleatoria
# Ejemplo 4: Generación de un número entero aleatorio dentro de un rango
numero_ent_aleatorio = [Link](1, 100) # Genera un número aleatorio entre 1 y
100 (ambos inclusive)
IES N° 1 – Abra Pampa
Programación II
print(numero_ent_aleatorio) # Salida: un número entero aleatorio entre 1 y 100
datetime
Proporciona clases para manejar fechas, horas y operaciones relacionadas con manejo de tiempo, como
cálculos de diferencia entre fechas y formatear salidas. Algunas de sus funciones son:
• [Link](): Obtiene la fecha y hora actuales
• [Link](): Obtiene la fecha actual.
• [Link](date_string): Crea un objeto date a partir de una cadena en
formato ISO (YYYY-MM-DD).
• time(hour, minute, second): Crea un objeto time con la hora especificada
Ejemplos:
import datetime
# Ejemplo 1: Obtener la fecha y hora actual
fecha_hora_actual = [Link]()
print(fecha_hora_actual) # Salida: fecha y hora actual en formato YYYY-MM-DD
HH:MM:[Link]
# Ejemplo 2: Obtener la fecha actual
fecha_actual = [Link]()
print(fecha_actual) # Salida: fecha actual en formato YYYY-MM-DD
# Ejemplo 3: Crear una fecha personalizada
fecha_personalizada = [Link](2023, 6, 1)
print(fecha_personalizada) # Salida: 2023-06-01
# Ejemplo 4: Obtener componentes de fecha y hora
año = fecha_hora_actual.year
mes = fecha_hora_actual.month
dia = fecha_hora_actual.day
hora = fecha_hora_actual.hour
minuto = fecha_hora_actual.minute
segundo = fecha_hora_actual.second
print(año, mes, dia, hora, minuto, segundo) # Salida: componentes de fecha y hora
actuales
# Ejemplo 5: Formatear una fecha como cadena de texto
fecha_formateada = fecha_actual.strftime("%d/%m/%Y")
print(fecha_formateada) # Salida: fecha actual formateada como DD/MM/YYYY
os
Proporciona funciones para interactuar con el sistema operativo, como acceder a rutas de archivo, crear
y eliminar directorios, y realizar operaciones de archivos básicas.
import os
IES N° 1 – Abra Pampa
Programación II
# Ejemplo 1: Obtener el directorio de trabajo actual
directorio_actual = [Link]()
print(directorio_actual) # Salida: directorio de trabajo actual
# Ejemplo 2: Listar archivos y directorios en un directorio
archivos_directorio = [Link](directorio_actual)
print(archivos_directorio) # Salida: lista de archivos y directorios en el directorio
actual
# Ejemplo 3: Crear un directorio
nuevo_directorio = "nuevo_directorio"
[Link](nuevo_directorio)
print("Directorio creado:", nuevo_directorio)
# Ejemplo 4: Renombrar un archivo o directorio
viejo_nombre = "[Link]"
nuevo_nombre = "nuevo_archivo.txt"
[Link](viejo_nombre, nuevo_nombre)
print("Archivo renombrado:", nuevo_nombre)
# Ejemplo 5: Eliminar un archivo
archivo_a_eliminar = "archivo_a_eliminar.txt"
[Link](archivo_a_eliminar)
print("Archivo eliminado:", archivo_a_eliminar)
# Ejemplo 6: Elimina el directorio especificado (debe estar vacío).
[Link]('directorio_vacio')
# Ejemplo 7: Cambia el nombre de un archivo o directorio de anterior a nuevo.
[Link]('nombre_anterior.txt', ' nombre_nuevo.txt')
# Ejemplo 8: Determinar si existe un archivo existe. True si el archivo o directorio
especificado en path existe, de lo contrario, devuelve False.
if [Link]('[Link]'):
print("El archivo existe.")
else:
print("El archivo no existe.")
# Ejemplo 9: Determinar si es un archivo. Devuelve True si es un archivo existente, de
lo contrario, devuelve False.
if [Link]('[Link]'):
print("Es un archivo.")
# Ejemplo 10: Determinar si un directorio existe.
if [Link]('directorio'):
print("Es un directorio.")
IES N° 1 – Abra Pampa
Programación II
sys
Proporciona acceso a variables y funciones específicas del intérprete de Python. Se utiliza para
interactuar con la línea de comandos, obtener información sobre el entorno de ejecución y administrar la
salida estándar.
import sys
# Ejemplo 1: Obtener argumentos de línea de comandos
argumentos = [Link]
print(argumentos) # Salida: lista de argumentos de línea de comandos
# Ejemplo 2: Obtener la ruta del intérprete de Python
ruta_interprete = [Link]
print(ruta_interprete) # Salida: ruta del intérprete de Python utilizado
# Ejemplo 3: Obtener la versión de Python
version_python = [Link]
print(version_python) # Salida: información de la versión de Python
# Ejemplo 4: Salir del programa con un código de salida
[Link](0) # Salir del programa con código de salida 0 (éxito)
re
Ofrece operaciones de expresiones regulares para buscar y manipular texto de manera eficiente. Es útil
para la validación de cadenas, búsqueda y reemplazo de patrones.
import re
# Ejemplo 1: Coincidencia de patrón en una cadena
cadena = "Hola, mi número de teléfono es 123-456-7890."
patron = r"\d{3}-\d{3}-\d{4}" # Patrón para encontrar números de teléfono en formato
xxx-xxx-xxxx
resultado = [Link](patron, cadena)
if resultado:
print("Número de teléfono encontrado:", [Link]())
else:
print("No se encontró ningún número de teléfono.")
# Ejemplo 2: Búsqueda y reemplazo de patrón en una cadena
cadena = "Hola, mi nombre es Juan."
patron = r"Juan"
reemplazo = "Pedro"
nueva_cadena = [Link](patron, reemplazo, cadena)
print(nueva_cadena) # Salida: "Hola, mi nombre es Pedro."
Json
Proporciona funciones para trabajar con datos en formato JSON (JavaScript Object Notation), lo que
facilita la serialización y deserialización de datos estructurados.
IES N° 1 – Abra Pampa
Programación II
import json
# Ejemplo 1: Serialización de datos a formato JSON
datos = {
"nombre": "Juan",
"edad": 30,
"ciudad": "Madrid"
}
json_datos = [Link](datos)
print(json_datos) # Salida: {"nombre": "Juan", "edad": 30, "ciudad": "Madrid"}
# Ejemplo 2: Deserialización de datos desde formato JSON
json_datos = '{"nombre": "Juan", "edad": 30, "ciudad": "Madrid"}'
datos = [Link](json_datos)
print(datos["nombre"]) # Salida: Juan
print(datos["edad"]) # Salida: 30
print(datos["ciudad"]) # Salida: Madrid
# Ejemplo 3: Guardar datos en un archivo JSON
datos = {
"nombre": "Juan",
"edad": 30,
"ciudad": "Madrid"
}
with open("[Link]", "w") as archivo:
[Link](datos, archivo)
# Ejemplo 4: Cargar datos desde un archivo JSON
with open("[Link]", "r") as archivo:
datos = [Link](archivo)
print(datos) # Salida: {"nombre": "Juan", "edad": 30, "ciudad": "Madrid"}
requests
Solicitudes HTTP
Las solicitudes HTTP (Hypertext Transfer Protocol) son mensajes que se envían desde un cliente (como
un navegador web o una aplicación) a un servidor para solicitar o enviar datos. HTTP es el protocolo que
permite la comunicación entre clientes y servidores en la web.
Tipos de Solicitudes HTTP
GET: Solicita datos de un servidor. Es el tipo de solicitud más común. Por ejemplo, cuando se quiere ver
una página web, el navegador envía una solicitud GET para obtener el contenido de esa página.
POST: Envía datos al servidor. Por lo general, se utiliza cuando se envía información a través de un
formulario en una página web.
Respuestas HTTP
Después de recibir una solicitud HTTP, el servidor envía una respuesta, que también tiene su estructura:
Código de estado: Indica el resultado de la solicitud (por ejemplo, 200 para éxito, 404 para no
encontrado, 500 para error del servidor).
IES N° 1 – Abra Pampa
Programación II
Encabezados HTTP: Contienen información sobre la respuesta, como el tipo de contenido o la longitud
del mismo.
Cuerpo de la respuesta: Contiene los datos solicitados, como el contenido de una página web o el
resultado de una consulta a una API.
El módulo request permite realizar solicitudes HTTP y obtener respuestas de servidores web, lo que
facilita la comunicación con servicios web y la recuperación de contenido de páginas web.
import requests
# Ejemplo 1: Realizar una solicitud GET a una URL
response = [Link]('[Link]
print(response.status_code) # Código de estado de la respuesta
print([Link]) # Contenido de la respuesta
# Ejemplo 2: Enviar datos con una solicitud POST
data = {'nombre': 'Juan', 'edad': 30}
response = [Link]('[Link] data=data)
print(response.status_code) # Código de estado de la respuesta
print([Link]()) # Contenido de la respuesta en formato JSON
# Ejemplo 3: Enviar encabezados personalizados
headers = {'User-Agent': 'Mi Aplicación'}
response = [Link]('[Link] headers=headers)
print([Link]) # Contenido de la respuesta
# Ejemplo 4: Pasar parámetros en una URL
params = {'page': 2, 'limit': 10}
response = [Link]('[Link] params=params)
print([Link]()) # Contenido de la respuesta en formato JSON
Material de apoyo: 🏠️ Inicio | El Libro De Python