Python
Fundamentos de la Programación
Operadores
Operadores Aritméticos
Se usan para realizar operaciones matemáticas básicas. Incluyen + (suma), - (resta), * (multiplicación), / (división), // (división entera), % (módulo: devuelve el residuo de una división), y ** (potenciación).
Operadores de Comparación
Comparan dos valores y devuelven un valor booleano (True o False). Incluyen == (igual a), != (diferente de), > (mayor que), < (menor que), >= (mayor o igual que), y <= (menor o igual que).
Operadores Lógicos
Se usan para combinar condiciones. Incluyen and (y), or (o), y not (no).
Variables y Tipos de Datos
Se utilizan para almacenar datos que pueden ser usados y manipulados en un programa.
Tipos de datos:
- Enteros |
int| Números enteros sin decimales - Flotantes |
float| Números con parte decimal - Cadenas de texto |
str| Secuencias de caracteres - Booleanos |
True/False|
Estructuras de Datos
Listas
Son colecciones ordenadas de elementos que pueden ser de cualquier tipo. Se crean usando corchetes [] y se pueden modificar después de su creación.
Métodos de listas en Python
Python tiene métodos útiles para manipular elementos en listas. A continuación una breve descripción y ejemplos de algunos de los métodos más comunes:
append(x)
Agrega un elemento al final de la lista.
lista = [1, 2, 3]
lista.append(4)
print(lista) # Salida: [1, 2, 3, 4]
extend(iterable)
Extiende la lista añadiendo todos los elementos del iterable.
lista = [1, 2, 3]
nueva_lista = [4, 5]
lista.extend(nueva_lista)
print(lista) # Salida: [1, 2, 3, 4, 5]
insert(i, x)
Inserta un elemento en una posición específica.
lista = [1, 2, 3]
lista.insert(1, 4)
print(lista) # Salida: [1, 4, 2, 3]
remove(x)
Elimina la primera ocurrencia del elemento x.
lista = [1, 2, 3, 2]
lista.remove(2)
print(lista) # Salida: [1, 3, 2]
pop([i])
Elimina y devuelve el elemento en la posición i. Si no se especifica i, elimina y devuelve el último elemento.
lista = [1, 2, 3]
elemento = lista.pop()
print(elemento) # Salida: 3
print(lista) # Salida: [1, 2]
clear()
Elimina todos los elementos de la lista.
lista = [1, 2, 3]
lista.clear()
print(lista) # Salida: []
index(x[, start[, end]])
Devuelve el índice de la primera ocurrencia de x.
lista = [1, 2, 3, 2]
indice = lista.index(2)
print(indice) # Salida: 1
count(x)
Devuelve el número de veces que x aparece en la lista.
lista = [1, 2, 3, 2, 2]
conteo = lista.count(2)
print(conteo) # Salida: 3
sort(key=None, reverse=False)
Ordena la lista in-place. Ordena por defecto en orden ascendente. Se puede especificar una función de clave y un orden inverso.
def ordenar_por_inverso(x):
return -x
lista = [3, 1, 2]
lista.sort(key=ordenar_por_inverso, reverse=True)
print(lista) # Salida: [3, 2, 1]
reverse()
Invierte el orden de los elementos de la lista in-place.
lista = [1, 2, 3]
lista.reverse()
print(lista) # Salida: [3, 2, 1]
Slicing (Corte) en Listas
El slicing en Python es una forma de obtener partes específicas de una lista. Imagina que tienes una lista como una fila de bloques de construcción y quieres tomar solo algunos bloques.
Ejemplo de Slicing
Supongamos que tienes esta lista de números:
numeros = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
- Obtener los primeros 3 números:
Aquí,primeros_tres = numeros[:3] # [0, 1, 2]:3significa “desde el principio hasta el índice 3 (sin incluirlo)”.
- Obtener los últimos 3 números:
Aquí,ultimos_tres = numeros[-3:] # [7, 8, 9]-3:significa “desde el índice -3 (tercer último) hasta el final”.
- Obtener números del índice 3 al 6:
Aquí,intermedio = numeros[3:7] # [3, 4, 5, 6]3:7significa “desde el índice 3 hasta el índice 7 (sin incluirlo)”.
Slicing con Pasos
Puedes usar slicing para saltar elementos usando un tercer valor llamado “paso”.
- Obtener cada segundo número:
Aquí,cada_segundo = numeros[::2] # [0, 2, 4, 6, 8]::2significa “toma cada segundo número”.
- Obtener la lista al revés:
Aquí,al_reves = numeros[::-1] # [9, 8, 7, 6, 5, 4, 3, 2, 1, 0][::-1]significa “toma todos los elementos, pero al revés”.
Control de Flujo
Condicionales
Estructura if, elif, else: Las declaraciones condicionales permiten ejecutar código basado en ciertas condiciones.
Condicionales Anidadas
Las condiciones pueden anidarse dentro de otras condiciones para evaluar múltiples criterios.
Uso de Operadores Lógicos en Condicionales
Los operadores and, or, y not se pueden usar para combinar múltiples condiciones en una declaración if.
Bucles
Ciclo while
Un bucle while repite un bloque de código mientras una condición sea verdadera. Es útil cuando no se sabe de antemano cuántas veces se debe repetir el bucle.
Ejemplo básico de ciclo while:
contador = 1
while contador <= 5:
print(contador)
contador += 1
Este bucle imprimirá los números del 1 al 5. La variable contador se incrementa en 1 en cada iteración.
Ciclo while con una condición de salida
El bucle while también se puede utilizar con una condición de salida para detenerse cuando se alcanza un cierto estado.
Ejemplo de ciclo while con una condición de salida:
respuesta = ""
while respuesta != "salir":
respuesta = input("Escribe 'salir' para terminar: ")
print("Escribiste:", respuesta)
Este bucle pedirá al usuario que ingrese un texto hasta que escriba “salir”. En cada iteración, se imprime lo que el usuario escribió.
Ciclo for
Un bucle for se utiliza para iterar sobre una secuencia (como una lista o un rango de números). A diferencia del ciclo while, el número de iteraciones está determinado por la cantidad de elementos en la secuencia.
Ejemplo básico de ciclo for:
for i in range(5):
print(i)
Este bucle imprimirá los números del 0 al 4.
Funciones
Son bloques de código reutilizables que realizan una tarea específica. Se definen usando la palabra clave def seguida del nombre de la función y paréntesis. Dentro de los paréntesis, se pueden incluir parámetros, que son variables que la función puede recibir como entrada.
Ejemplo de una función simple:
def saludar(nombre):
print(f"Hola, {nombre}!")
saludar("Steve")
Este código define una función llamada saludar que toma un parámetro nombre e imprime un mensaje de saludo. Luego, la función se llama con el argumento "Steve", y se imprimirá Hola, Steve!.
Funciones con valor de retorno
Las funciones pueden devolver un valor usando la palabra clave return. Esto permite que la función envíe datos de vuelta al lugar donde fue llamada. Utilizar funciones con valor de retorno es útil cuando necesitas el resultado de un cálculo o una operación para usarlo en otro lugar del programa.
Ejemplo de una función con valor de retorno:
def suma(a, b):
return a + b
resultado = suma(3, 5)
print(resultado)
Este código define una función suma que toma dos parámetros, a y b, y devuelve su suma. El resultado de la función se almacena en la variable resultado, que luego se imprime (mostrará 8).
Funciones con múltiples valores de retorno
Las funciones también pueden devolver múltiples valores utilizando tuplas. Esto es útil cuando necesitas devolver más de un valor desde una función.
Ejemplo de una función que devuelve múltiples valores:
def operaciones(a, b):
suma = a + b
resta = a - b
return suma, resta
resultado_suma, resultado_resta = operaciones(10, 5)
print("Suma:", resultado_suma)
print("Resta:", resultado_resta)
Este código define una función operaciones que toma dos parámetros y devuelve la suma y la resta de esos parámetros. Los resultados se almacenan en dos variables separadas y luego se imprimen.