Estructuras de control en Python
- DEFINICION:
Las estructuras de control son herramientas que dirigen cómo se ejecutan las instrucciones en un programa. Existen dos categorías principales:
Condicionales: Estas estructuras permiten que el programa realice diferentes acciones dependiendo de si ciertas condiciones son cumplidas o no. Por ejemplo, si una condición es verdadera, se ejecuta un bloque de código; si no, se ejecuta otro.
Bucles: Estos permiten repetir acciones múltiples veces, lo cual es útil para tareas como procesar cada ítem en una lista o ejecutar una operación hasta que se cumpla una condición específica.
Estas herramientas son cruciales para crear programas que puedan adaptarse a diferentes escenarios y realizar operaciones repetitivas de manera efectiva.
- VENTAJAS:
- Claridad en la sintaxis y legibilidad: Python se destaca por su sintaxis comprensible y fácil de leer, lo que agiliza el desarrollo y facilita la comprensión del código.
- Apoyo de una amplia comunidad: La comunidad activa de Python proporciona una gran cantidad de bibliotecas y recursos útiles para aprender y resolver problemas.
- Biblioteca estándar extensa: Python incluye una variedad de herramientas en su biblioteca estándar, lo que evita la necesidad de escribir código desde cero para muchas tareas comunes.
- Versatilidad y portabilidad: Python es compatible con múltiples plataformas, lo que significa que el mismo código puede ejecutarse en diferentes sistemas operativos sin modificaciones significativas.
- Desarrollo rápido de prototipos:
- La facilidad de escritura y la sintaxis concisa hacen que Python sea ideal para la creación rápida de prototipos de aplicaciones.
- Integración sencilla con otros lenguajes: Python se puede integrar fácilmente con otros lenguajes como C y C++, lo que permite aprovechar código existente y obtener un rendimiento óptimo cuando sea necesario.


2. DESVENTAJAS:
- Velocidad de ejecución: Debido a que es un lenguaje interpretado, Python puede ser más lento en comparación con lenguajes compilados como C++ o Java, lo que puede ser una limitación en aplicaciones que requieren un rendimiento extremadamente rápido.
- Gestión automática de memoria: Aunque es una ventaja para muchos, puede ser una desventaja en aplicaciones que necesitan un control preciso de los recursos de memoria, ya que Python no proporciona la misma flexibilidad que los lenguajes de bajo nivel.
- Falta de modularidad: Si no se usan correctamente, las estructuras de control pueden llevar a un código menos modular, lo que complica el mantenimiento y la escalabilidad del software.

3. DESCRIPCION DE LOS EJEMPLOS:
- if: Utilizada para ejecutar un bloque de código si se cumple una condición específica.
- for: Permite iterar sobre una secuencia (como una lista, una tupla o un string).
- range: Genera una secuencia de números, comúnmente utilizada en bucles for.
- break: Termina el bucle más interno y controla el flujo del programa fuera de ese bucle.
- continue: Omite el resto del código dentro del bucle actual y pasa a la siguiente iteración.
- else: Se ejecuta si no se ha encontrado un break en el bucle anterior.
- pass: Una declaración que no hace nada, utilizada como un marcador de posición.
- match: Similar a switch, compara una variable con diferentes patrones (introducido en Python 3.10).
- case: Se utiliza dentro de match para definir un patrón específico.
- switch: No está disponible en Python, pero es común en otros lenguajes como C o Java para realizar múltiples comparaciones.
- while: Ejecuta un conjunto de instrucciones mientras se cumpla una condición.
- try-except: Bloque que permite manejar excepciones o errores en el código.
- finally: Se ejecuta después de un bloque try-except, independientemente de si se produjo una excepción o no.
- elif: Abreviatura de "else if", se utiliza para verificar múltiples condiciones en una estructura if.
- class: Define una clase, que es un modelo para crear objetos con atributos y métodos específicos.
Es importante notar que algunas de estas estructuras pueden tener nombres ligeramente diferentes o no estar presentes en todos los lenguajes de programación. Por ejemplo, brake debería ser break, además, switch no es una estructura de control en Python, pero sí en otros lenguajes.
4.CÓDIGOS DE EJEMPLOS:
- IF:
x = 10
if x > 5:
print("x es mayor que 5")
elif x == 5:
print("x es igual a 5")
else:print("x es menor que 5")
- FOR:
frutas = ["manzana", "banana", "cereza"]
for fruta in frutas:
print(fruta)
- RANGE:
for i in range(5):
print(i)
- BREAK:
for i in range(10):
print(i)
if i == 5:
break
- CONTINUE:
for i in range(10):
if i % 2 == 0:
continue
print(i)
- ELSE:
x = 5
if x > 10:
print("x es mayor que 10")
else:
print("x no es mayor que 10")
- PASS:
def funcion_vacia():
pass
- MATCH, CASE (Python 3.10+):
x = 3
match x:
case 1:
print("x es 1")
case 2:
print("x es 2")
case _:
print("x no es ni 1 ni 2")
- WHILE:
i = 1
while i < 6:
print(i)
i += 1
- TRY-EXCEPT/ FINALLY:
try:
resultado = 10 / 0
except ZeroDivisionError:
print("Error: División por cero")
finally:
print("Este bloque siempre se ejecuta")
- ELIF:
x = 10
if x > 5:
print("x es mayor que 5")
elif x == 5:
print("x es igual a 5")
else:
print("x es menor que 5")
- CLASS:
class Persona:
def __init__(self, nombre, edad):
self.nombre = nombre
self.edad = edad
def saludar(self):
print("Hola, mi nombre es", self.nombre, "y tengo", self.edad, "años.")
persona1 = Persona("Juan", 30)
persona1.saludar()
5. REFERENCIAS:
- El libro de Python
- https://openwebinars.net/blog/fundamentos-de-python-sintaxis-variables-y-estructuras-de-control/#:~:text=Las%20estructuras%20de%20control%20en,bloque%20de%20c%C3%B3digo%20m%C3%BAltiples%20veces.
- Estructuras de control Fundamentos de la programación Salvador Sánchez, Miguel-Ángel Sicilia Universidad de Alcalá Septiembre de 2015
- COPILOT
- https://www.pythonaplicado.com/leer/capitulo-7/estructuras-de-controL