FUNDAMENTOS DE PROGRAMACIÓN CON
PYTHON
Apuntes de Clase · Introducción a la Computación · Semestre 1
Notas de clase para el curso de Introducción a la Programación usando Python 3.12+. Cubre
variables, tipos de datos, estructuras de control, funciones, programación orientada a objetos y
manejo de archivos.
1. ¿QUÉ ES PROGRAMAR?
Programar es escribir instrucciones precisas que una computadora puede ejecutar para resolver un
problema. Los lenguajes de programación son intermediarios entre el pensamiento humano (alto nivel) y
las instrucciones binarias del procesador (bajo nivel). Python es un lenguaje de alto nivel, interpretado, de
propósito general, con sintaxis legible y una comunidad enorme. Es el lenguaje más usado en ciencia de
datos, IA, automatización y educación.
2. TIPOS DE DATOS BÁSICOS
Tipo Descripción Ejemplo Función tipo
int Entero sin decimales x = 42 type(x) → int
float Número con decimales pi = 3.14159 type(pi) → float
str Cadena de texto nombre = 'Ana' type(nombre) → str
bool Verdadero o Falso activo = True type(activo) → bool
list Lista ordenada mutable nums = [1, 2, 3] type(nums) → list
tuple Tupla inmutable punto = (x, y) type(punto) → tuple
dict Diccionario clave:valor d = {'a': 1} type(d) → dict
set Conjunto sin duplicados s = {1, 2, 3} type(s) → set
Tabla 1. Tipos de datos fundamentales en Python.
3. ESTRUCTURAS DE CONTROL
3.1 Condicionales (if / elif / else)
edad = 20
if edad >= 18:
print("Mayor de edad")
elif edad >= 13:
print("Adolescente")
else:
print("Niño/a")
3.2 Bucle for
frutas = ["manzana", "pera", "uva"]
for fruta in frutas:
print(f"Me gusta la {fruta}")
# Rango numérico
for i in range(1, 6): # 1, 2, 3, 4, 5
print(i ** 2) # cuadrados
3.3 Bucle while
contador = 0
while contador < 5:
print(f"Contador: {contador}")
contador += 1
# break: sale del bucle | continue: salta a la siguiente iteración
4. FUNCIONES
Una función es un bloque de código reutilizable que realiza una tarea específica. En Python se definen
con la palabra clave def. Buenas prácticas: nombre en snake_case, una sola responsabilidad,
documentar con docstring.
def calcular_imc(peso_kg, altura_m):
"""
Calcula el Índice de Masa Corporal.
Args:
peso_kg (float): Peso en kilogramos.
altura_m (float): Altura en metros.
Returns:
float: Valor del IMC.
"""
return peso_kg / (altura_m ** 2)
# Llamada a la función
imc = calcular_imc(70, 1.75)
print(f"IMC: {imc:.2f}") # IMC: 22.86
4.1 Funciones Lambda
Las funciones lambda son funciones anónimas de una sola expresión, útiles para operaciones simples:
cuadrado = lambda x: x ** 2
sumar = lambda a, b: a + b
pares = list(filter(lambda x: x % 2 == 0, range(10)))
# pares → [0, 2, 4, 6, 8]
5. PROGRAMACIÓN ORIENTADA A OBJETOS (POO)
La POO organiza el código en clases (plantillas) y objetos (instancias). Los cuatro pilares son:
Encapsulamiento (ocultar datos internos), Abstracción (exponer solo lo necesario), Herencia (reutilizar
código de clases padre) y Polimorfismo (misma interfaz, distintas implementaciones).
class CuentaBancaria:
def __init__(self, titular, saldo_inicial=0):
[Link] = titular
self._saldo = saldo_inicial # atributo protegido
def depositar(self, monto):
if monto > 0:
self._saldo += monto
print(f"Depósito de ${monto:,.0f}. Saldo: ${self._saldo:,.0f}")
def retirar(self, monto):
if monto > self._saldo:
print("Saldo insuficiente")
else:
self._saldo -= monto
@property
def saldo(self): # getter
return self._saldo
# Uso
cuenta = CuentaBancaria("María", 500_000)
[Link](200_000) # Depósito de $200.000. Saldo: $700.000
print([Link]) # 700000
6. MANEJO DE ARCHIVOS Y EXCEPCIONES
# Leer archivo de texto
with open("[Link]", "r", encoding="utf-8") as f:
contenido = [Link]()
# Escribir archivo
with open("[Link]", "w", encoding="utf-8") as f:
[Link]("Resultado del análisis\n")
# Manejo de excepciones
try:
resultado = 10 / 0
except ZeroDivisionError as e:
print(f"Error: {e}")
except (TypeError, ValueError):
print("Tipo o valor incorrecto")
finally:
print("Bloque finally siempre se ejecuta")
7. BIBLIOTECAS ESENCIALES DE PYTHON
Biblioteca Uso principal Instalación Ejemplo rápido
os / pathlib Manejo del sistema de archivos Incluida Path('[Link]').exists()
math Funciones matemáticas Incluida [Link](16) → 4.0
random Números aleatorios Incluida [Link](1, 100)
datetime Fechas y tiempos Incluida [Link]()
numpy Álgebra lineal y arrays pip install numpy [Link]([1,2,3])
pandas Análisis de datos tabulares pip install pandas df = pd.read_csv(...)
matplotlib Visualización de datos pip install matplotlib [Link](x, y)
requests Peticiones HTTP/APIs pip install requests [Link](url)
flask Desarrollo web backend pip install flask @[Link]('/')
Tabla 2. Principales bibliotecas de Python y sus casos de uso.