0% encontró este documento útil (0 votos)
1 vistas14 páginas

Apuntes Python

Este documento es un compendio de apuntes sobre los fundamentos de programación en Python, abarcando temas como variables, control de flujo, funciones, programación orientada a objetos, y manejo de archivos. Se presentan conceptos clave, ejemplos de código y una guía rápida de sintaxis. Está dirigido a principiantes e intermedios que desean aprender a programar en Python.

Cargado por

eduardoguerro13
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
1 vistas14 páginas

Apuntes Python

Este documento es un compendio de apuntes sobre los fundamentos de programación en Python, abarcando temas como variables, control de flujo, funciones, programación orientada a objetos, y manejo de archivos. Se presentan conceptos clave, ejemplos de código y una guía rápida de sintaxis. Está dirigido a principiantes e intermedios que desean aprender a programar en Python.

Cargado por

eduardoguerro13
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

PYTHON

Fundamentos de Programacion

Apuntes Completos de Clase

Materia Introduccion a la Programacion

Nivel Principiante - Intermedio

Temas Variables, Control, Funciones, POO, Archivos


APUNTES DE PYTHON Fundamentos de Programacion

1. Introduccion a Python
Python es un lenguaje de programacion interpretado, de alto nivel y proposito general. Fue creado por
Guido van Rossum y lanzado en 1991. Su filosofia hace hincapie en la legibilidad del codigo y usa una
sintaxis que permite expresar conceptos en menos lineas que otros lenguajes.

Caracteristicas principales:
• Sintaxis limpia y legible (usa indentacion en lugar de llaves)
• Lenguaje interpretado: ejecuta linea por linea
• Tipado dinamico: no necesitas declarar el tipo de variable
• Multiparadigma: soporta POO, funcional e imperativo
• Gran biblioteca estandar ('batteries included')
• Comunidad enorme y activa

Tu primer programa:
# Hola Mundo

print("Hola, Mundo!")

print("Python es genial")

Tip: Puedes ejecutar Python escribiendo 'python' o 'python3' en la terminal.

2. Variables y Tipos de Datos


Una variable es un nombre que apunta a un valor en memoria. En Python no necesitas declarar el tipo:
Python lo infiere automaticamente.

Tipos de datos basicos:


Tipo Ejemplo Descripcion

int edad = 25 Numeros enteros

float precio = 19.99 Numeros decimales

str nombre = "Ana" Cadenas de texto

bool activo = True Verdadero o Falso

list nums = [1,2,3] Lista ordenada/mutable

tuple punto = (x, y) Lista inmutable

dict d = {"a": 1} Pares clave-valor

set s = {1, 2, 3} Conjunto sin duplicados

Ejemplos de variables:
# Variables

Apuntes de Clase Pagina 2


APUNTES DE PYTHON Fundamentos de Programacion

# Enteros y flotantes

edad = 20

promedio = 8.75

# Cadenas de texto

nombre = "Maria"

apellido = 'Garcia'

completo = nombre + " " + apellido # Concatenacion

# Booleanos

es_estudiante = True

tiene_trabajo = False

# Ver el tipo de una variable

print(type(edad)) # <class 'int'>

print(type(nombre)) # <class 'str'>

Nota: Python distingue mayusculas y minusculas: 'nombre' y 'Nombre' son variables distintas.

Operadores aritmeticos:
Operador Significado Ejemplo Resultado

+ Suma 5 + 3 8

- Resta 9 - 4 5

* Multiplicacion 3 * 7 21

/ Division 10 / 4 2.5

// Div. entera 10 // 4 2

% Modulo (resto) 10 % 3 1

** Potencia 2 ** 8 256

Apuntes de Clase Pagina 3


APUNTES DE PYTHON Fundamentos de Programacion

3. Control de Flujo
Condicionales (if / elif / else):
Los condicionales permiten ejecutar bloques de codigo dependiendo de si una condicion es verdadera o
falsa. Python usa la indentacion (4 espacios) para delimitar los bloques.

# Condicional if/elif/else

nota = 75

if nota >= 90:

calificacion = 'Excelente'

elif nota >= 80:

calificacion = 'Bien'

elif nota >= 70:

calificacion = 'Regular'

else:

calificacion = 'Reprobado'

print(f'Tu calificacion es: {calificacion}')

Operadores de comparacion:
Op. Significado Op. Significado

== Igual a != Distinto de

< Menor que > Mayor que

<= Menor o igual >= Mayor o igual

and Y logico or O logico

not Negacion logica in Pertenencia

Bucle for:
El bucle for itera sobre una secuencia (lista, rango, cadena, etc.).
# Bucle for

# Iterar sobre una lista

frutas = ['manzana', 'pera', 'uva']

for fruta in frutas:

print(fruta)

# Usar range() para repetir N veces

for i in range(5): # 0, 1, 2, 3, 4

print(f'Vuelta {i}')

Apuntes de Clase Pagina 4


APUNTES DE PYTHON Fundamentos de Programacion

# range(inicio, fin, paso)

for n in range(0, 20, 2): # 0, 2, 4 ... 18

print(n, end=' ')

Bucle while:
El bucle while repite mientras la condicion sea verdadera. Cuidado con los bucles infinitos.
# Bucle while + break/continue

contador = 0

while contador < 5:

print(f'contador = {contador}')

contador += 1 # Equivale a: contador = contador + 1

# break y continue

for i in range(10):

if i == 3:

continue # Salta esta iteracion

if i == 7:

break # Sale del bucle

print(i)

Tip: Usa 'break' para salir de un bucle y 'continue' para saltar a la siguiente iteracion.

Apuntes de Clase Pagina 5


APUNTES DE PYTHON Fundamentos de Programacion

4. Funciones
Una funcion es un bloque de codigo reutilizable que realiza una tarea especifica. Se definen con la
palabra clave def y pueden recibir parametros y retornar valores.

# Funciones

# Funcion simple

def saludar(nombre):

return f"Hola, {nombre}!"

# Funcion con parametros por defecto

def potencia(base, exponente=2):

return base ** exponente

# Funcion con multiples retornos

def min_max(lista):

return min(lista), max(lista)

# Llamadas

print(saludar("Luis")) # Hola, Luis!

print(potencia(3)) # 9

print(potencia(2, 10)) # 1024

minimo, maximo = min_max([4, 1, 9, 2])

print(minimo, maximo) # 1 9

Funciones lambda (anonimas):


Las lambdas son funciones de una sola linea, utiles para operaciones simples.
# Lambda

# Equivalentes:

def cuadrado(x): return x ** 2

cuadrado = lambda x: x ** 2

# Uso con sorted()

alumnos = [('Ana', 9.5), ('Luis', 7.2), ('Bea', 8.8)]

ordenados = sorted(alumnos, key=lambda a: a[1], reverse=True)

print(ordenados) # [('Ana', 9.5), ('Bea', 8.8), ('Luis', 7.2)]

Alcance de variables (scope):


Tipo Donde existe Nota

Local Solo dentro de la funcion Se destruye al terminar

Global Todo el modulo/script Usar 'global' para modificar

Apuntes de Clase Pagina 6


APUNTES DE PYTHON Fundamentos de Programacion

Built-in En todo Python print, len, range...

Apuntes de Clase Pagina 7


APUNTES DE PYTHON Fundamentos de Programacion

5. Listas y Diccionarios
Listas:
Las listas son colecciones ordenadas y mutables. Pueden contener elementos de cualquier tipo.
# Listas

# Crear y acceder

nums = [10, 20, 30, 40, 50]

print(nums[0]) # 10 (primer elemento)

print(nums[-1]) # 50 (ultimo elemento)

print(nums[1:3]) # [20, 30] (slicing)

# Modificar

[Link](60) # Agrega al final

[Link](0, 5) # Inserta en posicion 0

[Link](30) # Elimina el valor 30

[Link]() # Elimina y retorna el ultimo

# Recorrer

for i, valor in enumerate(nums):

print(f' [{i}] = {valor}')

# List comprehension (forma Pythonica)

cuadrados = [x**2 for x in range(10)]

pares = [x for x in range(20) if x % 2 == 0]

Diccionarios:
Los diccionarios almacenan pares clave-valor. Son extremadamente utiles para representar objetos del
mundo real.
# Diccionarios

# Crear diccionario

alumno = {

"nombre": "Sofia",

"edad": 21,

"notas": [9.0, 8.5, 9.5],

"activo": True

# Acceder a valores

print(alumno["nombre"]) # Sofia

print([Link]("grado", "N/A")) # N/A (no existe)

Apuntes de Clase Pagina 8


APUNTES DE PYTHON Fundamentos de Programacion

# Agregar y modificar

alumno["carrera"] = "Sistemas"

alumno["edad"] = 22

# Recorrer

for clave, valor in [Link]():

print(f' {clave}: {valor}')

# Verificar si existe una clave

if "notas" in alumno:

promedio = sum(alumno["notas"]) / len(alumno["notas"])

print(f'Promedio: {promedio:.1f}')

Nota: Los diccionarios mantienen el orden de insercion desde Python 3.7+.

Apuntes de Clase Pagina 9


APUNTES DE PYTHON Fundamentos de Programacion

6. Programacion Orientada a Objetos


La Programacion Orientada a Objetos (POO) organiza el codigo en clases que definen la estructura y
comportamiento de objetos. Los pilares de la POO son: Encapsulacion, Herencia, Polimorfismo y
Abstraccion.

# Clases y Herencia

class Estudiante:

"""Representa a un estudiante universitario."""

universidad = 'UNAM' # Atributo de clase

def __init__(self, nombre, matricula, carrera):

[Link] = nombre # Atributo publico

[Link] = matricula

[Link] = carrera

self._notas = [] # Atributo 'protegido'

def agregar_nota(self, nota):

if 0 <= nota <= 10:

self._notas.append(nota)

@property

def promedio(self):

if not self._notas:

return 0

return sum(self._notas) / len(self._notas)

def __str__(self):

return f"{[Link]} ({[Link]}) - Prom: {[Link]:.1f}"

# Herencia

class Posgrado(Estudiante):

def __init__(self, nombre, matricula, carrera, tesis):

super().__init__(nombre, matricula, carrera)

[Link] = tesis

def __str__(self):

base = super().__str__()

return f"{base} | Tesis: {[Link]}"

# Uso

e1 = Estudiante("Carlos", "2024001", "Informatica")

e1.agregar_nota(9.0)

Apuntes de Clase Pagina 10


APUNTES DE PYTHON Fundamentos de Programacion

e1.agregar_nota(8.5)

print(e1) # Carlos (2024001) - Prom: 8.8

Conceptos clave de POO:


Concepto Descripcion Ejemplo en Python

Clase Molde/plantilla para crear objetos class Persona: ...

Objeto Instancia concreta de una clase p = Persona(...)

Atributo Variable que pertenece al objeto [Link] = ...

Metodo Funcion que pertenece a la clase def saludar(self):

Herencia Una clase hereda de otra class B(A): ...

Polimorfismo Mismo metodo, distinto comportamiento super().__init__()

Apuntes de Clase Pagina 11


APUNTES DE PYTHON Fundamentos de Programacion

7. Archivos y Manejo de Errores


Lectura y escritura de archivos:
# Archivos

# Escribir un archivo

with open("[Link]", "w", encoding="utf-8") as f:

[Link]("Primera linea\n")

[Link]("Segunda linea\n")

# Leer todo el archivo

with open("[Link]", "r", encoding="utf-8") as f:

contenido = [Link]()

print(contenido)

# Leer linea por linea (eficiente para archivos grandes)

with open("[Link]", "r") as f:

for linea in f:

print([Link]())

# Modos de apertura:

# 'r' -> lectura (default)

# 'w' -> escritura (sobreescribe)

# 'a' -> agregar al final

# 'rb' -> lectura binaria

Manejo de excepciones (try/except):


Los errores en tiempo de ejecucion se llaman excepciones. Python permite atraparlas y manejarlas para
que el programa no falle abruptamente.
# try / except / else / finally

try:

numero = int(input("Ingresa un numero: "))

resultado = 100 / numero

print(f'Resultado: {resultado}')

except ValueError:

print("Error: debes ingresar un numero valido")

except ZeroDivisionError:

print("Error: no se puede dividir entre cero")

except Exception as e:

print(f"Error inesperado: {e}")

Apuntes de Clase Pagina 12


APUNTES DE PYTHON Fundamentos de Programacion

else:

print("Todo salio bien!")

finally:

print("Esto siempre se ejecuta")

Tip: Siempre usa 'with open(...)' para abrir archivos: cierra el archivo automaticamente aunque ocurra un
error.

Nota: La clausula 'finally' se ejecuta SIEMPRE, sin importar si hubo error o no. Ideal para liberar recursos.

Apuntes de Clase Pagina 13


APUNTES DE PYTHON Fundamentos de Programacion

Resumen Rapido - Cheatsheet


Concepto Sintaxis Descripcion

Variable x = 5 Asignar valor

Comentario # esto es comentario Ignorado por Python

Print print("hola") Mostrar en pantalla

Input input("Nombre: ") Leer del usuario

Conversion int("5"), str(3) Cambiar tipo

f-string f"Hola {nombre}" Cadena con variables

Longitud len(lista) Numero de elementos

Ordenar sorted(lista) Retorna lista ordenada

Rango range(inicio, fin, paso) Secuencia de numeros

Comprension lista [expr for x in seq] Lista en una linea

Funcion def nombre(params): Definir funcion

Clase class Nombre: Definir clase

Importar import modulo Usar libreria

Excepcion try: ... except E: Manejar errores

Recuerda: la mejor manera de aprender a programar es practicar todos los dias. Escribe codigo,
comete errores y aprende de ellos.

Apuntes de Clase Pagina 14

También podría gustarte