Imagen de portada del blog

La imagen tiene un fondo azul con cuatro iconos tecnológicos: un símbolo de señal Wi-Fi en la esquina superior izquierda, un portátil en la esquina superior derecha, dos engranajes (uno azul y otro amarillo) en la esquina inferior derecha y un navegador web con "www" en la esquina inferior izquierda. En el centro hay una placa base de computadora. Alrededor de la placa base está el texto "COMUNIDAD TIFLOTEC" en color naranja, formando un semicírculo.

Clase 12: Funciones (Def), Diccionarios, Tuplas y la Arquitectura Modular


Indicación metodológica de lectura fundamental para el estudiante


Bienvenidos a la recta final del curso. Nos quedan exactamente tres clases para culminar este proceso. Si usted ha llegado hasta la Clase 12, ha demostrado que su capacidad intelectual y su disciplina son superiores a las barreras que el mundo o usted mismo se han impuesto. Pero escúcheme bien: a partir de este momento, el nivel de exigencia se multiplica. Ya no estamos aprendiendo a gatear; estamos aprendiendo a construir el motor del vehículo.


Hoy no veremos uno o dos temas, veremos cuatro conceptos pilares simultáneamente. El volumen de información, la cantidad de ejercicios y la complejidad de la lógica se van a triplicar. Usted pasará de escribir "scripts" (archivos que se leen de arriba hacia abajo) a diseñar "sistemas modulares" (bloques de código independientes que se comunican entre sí). Prepare su lector de pantalla, preste atención a cada signo de puntuación (paréntesis, corchetes y llaves tienen significados totalmente distintos hoy) y lea todo este documento antes de intentar escribir una sola línea.


Datos Curiosos y Utilitarios de Python (Cultura de Ingeniería)


Para ser un programador respetado, usted debe conocer el terreno que pisa. Aquí tiene tres datos técnicos que le darán una ventaja en su comprensión del lenguaje:


1. La filosofía oculta en su computadora: Si usted abre su consola CMD, entra al intérprete escribiendo `python` y presiona Enter, y luego escribe el comando `import this` y presiona Enter, el lenguaje le revelará un poema oculto llamado "El Zen de Python". Son 19 reglas de diseño escritas por Tim Peters, como por ejemplo: "Lo simple es mejor que lo complejo" y "La legibilidad cuenta". Los profesionales leen esto para recordar cómo estructurar su mente.

2. La regla de oro de Google: En sus inicios, Google adoptó una directriz arquitectónica famosa: "Python donde podamos, C++ donde debamos". Esto significa que Python se usa para desarrollar rápido, probar ideas y conectar sistemas complejos (por su legibilidad y rapidez de creación), pero cuando se requiere velocidad de procesamiento extrema a nivel de hardware, se integran lenguajes compilados. Usted está aprendiendo el idioma del desarrollo rápido.

3. El rey de la Ciberseguridad: Python es el lenguaje número uno en el mundo para el hacking ético y la seguridad informática. Sus librerías permiten automatizar escaneos de redes y descifrar contraseñas en pocas líneas de código. Lo que usted está aprendiendo hoy es la misma herramienta que usan los analistas de seguridad para proteger o vulnerar sistemas globales.


Explicaciones Detalladas: Los Cuatro Pilares de Hoy


Tema 1: Funciones Personalizadas (def)

Hasta hoy, hemos usado funciones creadas por otros (como `print()` o `len()`). Ahora crearemos las nuestras usando la palabra reservada `def` (definir). Una función es un bloque de código encapsulado al que le ponemos un nombre. No se ejecuta hasta que nosotros lo "llamamos".

*Sintaxis:*


```python

def saludar(nombre):

    print("Hola,", nombre)


```


Ese bloque no hace nada por sí solo. Para que funcione, más abajo en el código escribimos: `saludar("Diego")`. Esto evita repetir código cien veces.


Tema 2: Diccionarios (El mapeo de datos)

Las listas usan índices numéricos (0, 1, 2) y se declaran con corchetes `[]`. Los Diccionarios usan "Llaves" o "Claves" de texto y se declaran con símbolos de llaves `{}`. Son como la base de datos de un contacto en su teléfono.

*Sintaxis:*


```python

usuario = {"nombre": "Juan", "edad": 30, "rol": "admin"}


```


Para imprimir el nombre, usted no pide la posición cero; usted pide la clave: `print(usuario["nombre"])`.


Tema 3: Tuplas (Las listas de hierro)

Una tupla es exactamente igual a una lista, pero con dos diferencias: se declara con paréntesis `()` y es absolutamente inmutable. Una vez creada, usted no puede usar `.append()`, ni `.pop()`, ni `.remove()`.

¿Para qué sirve? Por seguridad. Si usted tiene datos que el programa jamás debe alterar por accidente (como los meses del año o las coordenadas de un servidor), los guarda en una tupla.


Tema 4: Modularidad Básica

La combinación de Funciones y Diccionarios nos permite separar nuestro código. El bloque principal ya no tiene toda la lógica revuelta. En la parte superior del archivo ponemos nuestras herramientas (funciones) y en la parte inferior construimos nuestro programa llamando a esas herramientas.


Vocabulario Técnico Obligatorio


Investigue y defina en su archivo `Tarea_Doce.txt`:


1. Def (Define): Palabra reservada para crear funciones.

2. Parámetro: La variable que una función espera recibir entre sus paréntesis.

3. Argumento: El valor real que le enviamos a la función cuando la llamamos.

4. Return: El comando que hace que una función nos devuelva un valor en lugar de solo imprimirlo.

5. Clave-Valor (Key-Value): La estructura base de los diccionarios.

6. Diccionario: Estructura de datos no ordenada, mutable, que utiliza llaves `{}`.

7. Tupla: Colección ordenada e inmutable de datos, usa paréntesis `()`.

8. Alcance (Scope): El lugar donde una variable existe (una variable creada dentro de una función muere cuando la función termina).

9. Modularidad: La práctica de dividir un programa grande en piezas pequeñas independientes.

10. Refactorización: El proceso de reescribir código para hacerlo más limpio sin cambiar lo que hace.


Desafío Mental Técnico: El Enigma del Criptógrafo


Metodología: Este ejercicio combina funciones y diccionarios en su mente. Requiere abstracción pura.

Instrucciones: Siga la lógica mental sin escribir código.


1. Usted crea una función llamada `verificar_acceso(usuario_id)` que recibe un número.

2. Dentro de la función, hay un diccionario: `base_datos = {101: "Permitido", 202: "Denegado", 303: "Permitido"}`.

3. La función revisa el diccionario. Si el usuario existe y su valor es "Permitido", devuelve (return) `True`. Si no existe o es denegado, devuelve `False`.

4. En el código principal, usted tiene una tupla de intentos: `intentos = (202, 101, 999)`.

5. Usted hace un ciclo `for` que recorre la tupla `intentos` y, por cada número, llama a la función `verificar_acceso()`.


El Reto: Si el programa imprime el resultado de la función por cada vuelta del ciclo `for`, ¿cuál será la salida exacta, línea por línea, en la consola? Explique el flujo de los datos desde la tupla, pasando por el parámetro de la función, hasta consultar el diccionario.


Ejemplo Práctico Guiado: El Sistema de Contactos Modular


Paso Uno: Digite este código escuchando atentamente la diferencia entre paréntesis, corchetes y llaves.


```python

# Zona de Funciones

def mostrar_perfil(contacto):

    print("El perfil pertenece a:", contacto["nombre"])

    print("Su correo de contacto es:", contacto["email"])


# Zona de Programa Principal

# Creamos un diccionario

usuario_activo = {"nombre": "Laura", "email": "laura@correo.com", "edad": 28}


print("Iniciando sistema...")

mostrar_perfil(usuario_activo) # Llamada a la función pasando el diccionario

print("Sistema finalizado.")


```


Paso Dos: Analice cómo el diccionario `usuario_activo` viaja hacia la función y es recibido con el nombre temporal de `contacto`. Guárdelo como `sistema.py` y ejecútelo.


Ejercicios de Refuerzo de Lógica (Algoritmos)


En su archivo `Algoritmos_Capitulo_12.txt`, diseñe la lógica en texto plano para:


1. Una función que reciba dos números, los sume y devuelva el resultado para ser guardado en una variable externa.

2. Un diccionario que represente un libro (título, autor, año) y cómo accedería al año de publicación.

3. El uso de un `try-except` al intentar buscar una "clave" que no existe dentro de un diccionario.

4. Un ciclo `for` diseñado para recorrer una tupla con los días de la semana.

5. El algoritmo de un programa donde un menú inicial llame a 3 funciones diferentes (Sumar, Restar, Salir) dependiendo de lo que elija el usuario.


Ejercicios Prácticos de Programación en Python


Para su carpeta `Capitulo 12`, cree los siguientes programas:


Ejercicio 1: La función multiplicadora.

Cree una función `def multiplicar(a, b):` que retorne el resultado. Llame a la función tres veces con diferentes números e imprima los resultados.


Ejercicio 2: El inventario por llaves.

Cree un diccionario llamado `inventario` con 3 productos (por ejemplo: `{"manzanas": 10, "peras": 5}`). Pida al usuario el nombre de una fruta y muestre cuántas hay, buscando por la clave del diccionario.


Ejercicio 3: La tupla inquebrantable.

Cree una tupla con las vocales `("a", "e", "i", "o", "u")`. Pida una letra al usuario y verifique, usando un ciclo `for` y un `if`, si esa letra existe dentro de la tupla.


Ejercicio 4: Función con Listas.

Cree una función llamada `analizar_lista(lista)` que reciba una lista de números, calcule cuántos elementos tiene usando `len()`, y los imprima uno por uno. Pásela a prueba con dos listas diferentes.


Ejercicio 5: El sistema integrado.

Combine los tres temas: Cree un diccionario de configuración de sistema `{"tema": "oscuro", "volumen": 80, "idioma": "es"}`. Cree una función `def leer_configuracion(clave):` que reciba una palabra, busque en el diccionario y maneje un `try-except KeyError` si la palabra no existe.


Prácticas con tu Lector de Pantalla JAWS y NVDA  y CMD


 Adapte sus respuestas a su lector de pantalla sin importar que lector de pantalla utilice .


Responda en `Tarea_Doce.txt`:


1. ¿Cómo pronuncia JAWS exactamente las llaves de apertura `{` y cierre `}` de los diccionarios? ¿Es fácil confundirlo con los corchetes?

2. Usando los comandos de JAWS en español, presione `Insert + Flecha Abajo` para leer su código completo de forma continua. ¿Es capaz de identificar mentalmente dónde termina una función y empieza el programa principal solo por el salto en la sangría?

3. En un diccionario, se usa el símbolo de dos puntos `:` para separar la Clave del Valor. ¿Tiene su lector configurado para verbalizar este signo vital?

4. Si intenta añadir un dato a una tupla, la consola CMD arrojará un `TypeError`. ¿Cómo rastrea con el lector de pantalla en qué línea se causó esa violación de inmutabilidad?

5. Las funciones usan la palabra `return`. ¿Cómo deletrea su lector esta palabra reservada fundamental?

6. Al presionar `Flecha Derecha` carácter por carácter, ¿cómo distingue su lector de pantalla entre `()` de los parámetros de una función y los `{}` de un diccionario si están en la misma línea?

7. Explique por qué el comando `cls` en CMD es obligatorio moralmente antes de probar un programa que ahora incluye tantas funciones complejas.

8. ¿Qué comando de revisión de línea de su lector utiliza para confirmar que un bloque interno tiene exactamente la doble tabulación requerida bajo un `if` dentro de una función?

9. ¿Cómo organiza mentalmente la lectura de un bloque de código sabiendo que las funciones que están arriba no se ejecutan hasta que son llamadas al final del documento?

10. Evalúe su fatiga auditiva: Al triplicar el código y las estructuras hoy, ¿qué estrategia usó con su lector para no abrumarse con la cantidad de signos y comandos de bloque?


Información Institucional sobre la Evaluación


Si ha logrado terminar y comprender esta clase, usted está programando de verdad. Ya no somos repetidores de comandos; somos arquitectos de información. La modularidad es la clave de los grandes sistemas del mundo real. Repase las diferencias estrictas entre Listas, Tuplas y Diccionarios, porque si usted usa el contenedor equivocado para los datos en un entorno profesional, el costo computacional puede ser catastrófico. Su disciplina nos está acercando a la meta. Guarde todos sus archivos de forma rigurosa. Nos vemos la próxima clase.


Profesor: Diego R. Solano C. 

¿Te ha sido útil este artículo?

Lecturas del artículo: cargando...
Pulsa Enter aquí para leer los comentarios publicados por otros usuarios (0)

Aún no hay comentarios publicados en este artículo. Anímate a ser el primero en dejar uno.

Pulsa Enter aquí para ver los pasos y dejar un comentario nuevo

Cómo dejar un comentario desde tu computadora (JAWS, NVDA o Microsoft Narrator)

Al presionar el botón que aparece más abajo, se abrirá una nueva pestaña del navegador con el formulario oficial de comentarios de Google para esta publicación. El formulario se abre en una página separada para que funcione correctamente con tu lector de pantalla sin interferencias. Sigue estos pasos:

  • Paso 1: Presiona el botón de abajo. Una nueva pestaña se abrirá con el formulario de comentarios.
  • Paso 2: Espera a que la página cargue completamente. Tu lector de pantalla debería anunciar el título de la nueva pestaña automáticamente.
  • Paso 3: Presiona la tecla E para ir al primer cuadro de edición, que es donde debes escribir tu comentario.
  • Paso 4: Escribe tu comentario.
  • Paso 5: Presiona Tab para navegar hasta el botón Publicar y actívalo con Enter.
  • Paso 6: Si Google te pide iniciar sesión con tu cuenta de Google, sigue el proceso de inicio de sesión con Tab y Enter.
  • Paso 7 — Verificación de seguridad: Es posible que Google muestre una verificación de seguridad llamada CAPTCHA, que consiste en una casilla de verificación que dice "No soy un robot". Si aparece, presiona la tecla F para navegar hasta ese campo, luego presiona Espacio para marcarla. En algunos casos puede aparecer una prueba adicional con imágenes; si esto ocurre, sigue las instrucciones en pantalla que leerá tu lector de pantalla.
  • Paso 8 — Cerrar la ventana y regresar: Una vez que hayas enviado el comentario, la ventana de comentarios no se cerrará automáticamente ni regresará al blog por sí sola. Para regresar a la publicación, debes cerrar esa pestaña manualmente. Presiona la combinación de teclas Control + W para cerrar la pestaña activa. Al cerrarla, el navegador volverá automáticamente a la pestaña del blog donde estabas leyendo el artículo. Además, este blog detectará que cerraste la ventana y tu lector de pantalla anunciará que regresaste al artículo.
  • Moderación: Todos los comentarios son revisados antes de publicarse. Tu mensaje no aparecerá de forma inmediata.

Cómo dejar un comentario desde tu dispositivo móvil (TalkBack o VoiceOver)

Al tocar el botón que aparece más abajo, se abrirá una nueva página con el formulario oficial de comentarios de Google para esta publicación. Sigue estos pasos:

  • Paso 1: Toca el botón de abajo. Se abrirá una nueva pestaña con el formulario de comentarios.
  • Paso 2: Espera a que la página cargue por completo. Tu lector de pantalla anunciará el contenido nuevo.
  • Paso 3: Desliza el dedo hacia la derecha hasta encontrar el cuadro de texto para escribir. Tu lector de pantalla anunciará "campo de texto" o "área de edición".
  • Paso 4: Toca dos veces el cuadro de texto para activarlo y escribe tu comentario.
  • Paso 5: Desliza hacia la derecha hasta el botón Publicar y tócalo dos veces para enviar.
  • Paso 6: Si Google te pide iniciar sesión, desliza hacia la derecha para encontrar los campos de correo y contraseña y completa el proceso.
  • Paso 7 — Verificación de seguridad: Es posible que Google muestre una verificación de seguridad llamada CAPTCHA, que consiste en una casilla que dice "No soy un robot". Si aparece, desliza con el dedo hasta encontrarla y tócala dos veces para marcarla. En algunos casos puede aparecer una prueba con imágenes; si esto ocurre, tu lector de pantalla leerá las instrucciones de esa prueba para que puedas completarla.
  • Paso 8 — Cerrar la pestaña y regresar en Android: Una vez enviado el comentario, la pestaña no se cerrará sola. Para regresar al blog, toca el botón de pestañas en tu navegador (en Chrome es un número entre un cuadrado en la parte de abajo o arriba de la pantalla). Busca la pestaña de Comunidad Tiflotec y tócala dos veces para volver a ella. También puedes deslizar hacia arriba o a un lado la pestaña del formulario para cerrarla directamente.
  • Paso 8 — Cerrar la pestaña y regresar en iPhone o iPad: Una vez enviado el comentario, toca el botón de pestañas en Safari (son dos cuadrados superpuestos en la esquina inferior derecha de la pantalla). Verás todas las pestañas abiertas. Busca la de Comunidad Tiflotec y tócala para volver al artículo. Si quieres cerrar la pestaña del formulario, busca su vista previa y desliza hacia la izquierda hasta el botón Cerrar.
  • Moderación: Todos los comentarios son revisados antes de publicarse. Tu mensaje no aparecerá de forma inmediata.