Tipos de datos en Python: Python cuenta con varios tipos de datos como str (cadenas de texto), int (enteros), float (números decimales), complex (números complejos), bool (valores booleanos), list (listas), tuple (tuplas), set (conjuntos), frozenset (conjunto inmutable), dict (diccionarios), y bytes (secuencias de bytes). Las listas y diccionarios son mutables, mientras que las tuplas y cadenas son inmutables.
Condicionales: Las sentencias condicionales en Python usan if, elif y else para ejecutar bloques de código dependiendo de si se cumplen o no las condiciones especificadas. El bloque de código se ejecuta cuando la condición es verdadera y las condiciones se evalúan de manera secuencial.
Bucle for: El bucle for recorre un objeto iterable (como listas o tuplas) y ejecuta el bloque de código asociado en cada iteración, asignando el siguiente valor del iterable a la variable especificada.
Bucle while: El bucle while evalúa una condición antes de cada iteración, y ejecuta el bloque de código mientras la condición sea verdadera.
Listas y Tuplas: Las listas se definen con corchetes [] y son mutables, mientras que las tuplas se definen con paréntesis () y son inmutables. Ambas pueden contener diferentes tipos de datos y se accede a sus elementos mediante índices.
Diccionarios: Los diccionarios son estructuras de datos clave-valor, definidos con llaves {}. Las claves deben ser inmutables, y los valores pueden ser de cualquier tipo, incluso otro diccionario.
Sentencia match-case: Introducida en Python 3.10, la sentencia match-case permite realizar un patrón de coincidencia estructural, similar a un switch en otros lenguajes, pero más potente, permitiendo hacer coincidir valores y patrones más complejos.
Conjuntos: Los conjuntos se crean con la función set(), son mutables, no mantienen un orden y no permiten elementos duplicados. Son útiles para operaciones matemáticas como intersección, unión y diferencia de conjuntos.
Listas por comprensión: La lista por comprensión es una forma compacta y eficiente de crear listas utilizando una expresión compacta. Es útil cuando se quiere transformar o filtrar una secuencia.
Funciones: Las funciones en Python se definen con def, seguidas de un nombre y parámetros. También se pueden usar funciones lambda, que son funciones anónimas. Las funciones pueden recibir parámetros especiales como *args (argumentos posicionales variables) y **kwargs (argumentos por palabra clave variables).
Clases: Las clases se definen con class y permiten crear objetos que tienen atributos y métodos. Los métodos son funciones dentro de la clase y se usan para definir el comportamiento de los objetos. Los atributos se definen con self para que sean accesibles desde fuera de la clase. Python no tiene encapsulamiento formal, por lo que los atributos pueden ser públicos o privados por convención.
Definición de tipos de datos
cadena = "Hola Mundo" # str numero_entero = 42 # int numero_decimal = 3.1416 # float numero_complejo = 4 + 2j # complex booleano = True # bool
Listas y tuplas
lista = [1, 2, 3, 'a', 'b', True] # list tupla = (1, 2, 3, 'a', 'b', True) # tuple
Diccionario
diccionario = {'nombre': 'Juan', 'edad': 30, 'activo': True} # dict
Conjuntos
conjunto = {1, 2, 3, 4, 4, 5} # set conjunto_inmutable = frozenset([1, 2, 3, 4, 4, 5]) # frozenset
Funciones
def sumar(a, b): """Función simple de suma""" return a + b
def mostrar_info(*args, **kwargs): """Función que acepta argumentos variables""" print(args) print(kwargs)
Bucle for
for i in lista: print(f"Elemento de la lista: {i}")
Bucle while
contador = 0 while contador < 3: print(f"Contador: {contador}") contador += 1
Sentencia match-case
def evaluar_numero(x): match x: case 1: print("Es uno") case 2: print("Es dos") case _: print("Es otro número")
Listas por comprensión
cuadrados = [x ** 2 for x in range(5)] print(f"Cuadrados: {cuadrados}")
Clases
class Persona: def init(self, nombre, edad): self.nombre = nombre self.edad = edad
def saludar(self):
print(f"Hola, mi nombre es {self.nombre} y tengo {self.edad} años.")
Creando un objeto de la clase Persona
persona = Persona('Carlos', 25) persona.saludar()
Llamando a funciones
resultado = sumar(5, 7) print(f"Resultado de la suma: {resultado}")
Llamando a la función que maneja argumentos variables
mostrar_info(1, 2, 3, nombre="Juan", edad=30)
Evaluando el número con match-case
evaluar_numero(2) evaluar_numero(10)
Usando el diccionario
print(f"Nombre: {diccionario['nombre']}, Edad: {diccionario['edad']}")
Usando conjuntos
print(f"Conjunto sin duplicados: {conjunto}")
Usando listas por comprensión
duplicados = [x for x in lista if isinstance(x, int)] print(f"Elementos enteros en la lista: {duplicados}")