"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Cómo los diccionarios de Python mantienen su código limpio y SECO

Cómo los diccionarios de Python mantienen su código limpio y SECO

Publicado el 2024-11-06
Navegar:550

How Python Dictionaries Keep Your Code Clean and DRY

Diccionario Python y el principio DRY: una guía rápida para principiantes

¡Hola! ? Si está sumergiéndose en la programación de Python, probablemente se haya topado con diccionarios y tal vez se haya preguntado: "¿Qué es exactamente un diccionario en Python y cómo puede ayudarme a codificar de manera más inteligente?" No te preocupes, analicémoslo de una manera súper sencilla.

¿Qué es un diccionario en Python?

Imagina que tienes una lista de elementos y que cada elemento tiene una etiqueta única adjunta, como "nombre: John" o "edad: 25". ¡Un diccionario en Python funciona exactamente así! Es una colección de pares clave-valor, donde cada clave es única y apunta a un valor específico. Piense en ello como una mini base de datos para almacenar información de forma ordenada y organizada.

Es como un diccionario real donde buscas una palabra (la clave) y obtienes su significado (el valor). Genial, ¿verdad? ?

¿Cómo hacer un diccionario en Python?

Crear un diccionario es pan comido. Simplemente use llaves {} y separe cada par clave-valor con dos puntos :.

Así es como puedes crear un diccionario sencillo:

# Creating a dictionary to store student information
student_info = {
    'name': 'John Doe',
    'age': 21,
    'major': 'Computer Science'
}

# Printing out the dictionary
print(student_info)

Este diccionario almacena el nombre, la edad y la especialización de un estudiante. ¿Observa cómo las claves como "nombre" y "edad" están entre comillas? ¡Esto se debe a que las claves pueden ser cadenas, números o incluso tuplas! Los valores pueden ser cualquier cosa: cadenas, listas, otros diccionarios, lo que sea.

Cómo nos ayudan los diccionarios a evitar la repetición (principio DRY)

Ahora, aquí es donde se pone interesante. Es posible que hayas oído hablar del principio DRY, que significa No te repitas. Es una regla que le anima a evitar la redundancia en su código. ¿Cómo pueden ayudar los diccionarios con eso? Echemos un vistazo.

Antes de usar un diccionario (código repetido)

Imagine que desea almacenar información sobre los estudiantes en variables separadas. Podría verse así:

student1_name = 'Alice'
student1_age = 20
student1_major = 'Mathematics'

student2_name = 'Bob'
student2_age = 22
student2_major = 'Physics'

No solo tenemos nombres de variables repetitivos, sino que si queremos imprimirlos o actualizarlos, tenemos que repetirnos una y otra vez. ¡Aquí es donde los diccionarios pueden salvar el día! ?

Ejemplo 1: Después de usar un diccionario (versión DRY)

Con los diccionarios podemos almacenar toda esta información de una forma más limpia:

# Using dictionaries to store student data
students = {
    'student1': {'name': 'Alice', 'age': 20, 'major': 'Mathematics'},
    'student2': {'name': 'Bob', 'age': 22, 'major': 'Physics'}
}

print(students['student1']['name'])  # Output: Alice
print(students['student2']['age'])   # Output: 22

Ahora no es necesario crear variables separadas para el nombre, la edad y la especialización de cada estudiante. Podrás acceder o actualizar la información de una forma mucho más sencilla. Además, hace que tu código sea más limpio y más fácil de administrar.

Ejemplo 2: evitar la repetición con diccionarios

Supongamos que desea crear un sistema de calificación simple basado en las puntuaciones de los estudiantes. Sin diccionarios, podrías terminar escribiendo lo siguiente:

# Without dictionary (repeating code)
alice_score = 90
bob_score = 75
charlie_score = 85

if alice_score >= 85:
    print("Alice gets an A")
if bob_score >= 85:
    print("Bob gets an A")
if charlie_score >= 85:
    print("Charlie gets an A")

Aquí, repetimos las declaraciones if y codificamos el nombre y la puntuación de cada estudiante, lo que viola el principio DRY.

En cambio, con un diccionario, puedes evitar repeticiones como esta:

# Using a dictionary (DRY principle)
student_scores = {'Alice': 90, 'Bob': 75, 'Charlie': 85}

for student, score in student_scores.items():
    if score >= 85:
        print(f"{student} gets an A")

¡Ahora tienes un código más limpio, más corto y más fácil de mantener! Solo escribe la declaración if una vez y funciona para todos los estudiantes en su diccionario. ?

Métodos útiles de diccionario

Los diccionarios vienen con una serie de métodos integrados que hacen que trabajar con ellos sea muy sencillo. Veamos algunos de ellos:

  1. .get(): Le ayuda a evitar errores si la clave no existe.
   print(student_info.get('address', 'Address not available'))  
   # Output: Address not available
  1. .keys() y .values(): obtiene todas las claves o valores del diccionario.
   print(student_info.keys())  # Output: dict_keys(['name', 'age', 'major'])
   print(student_info.values())  # Output: dict_values(['John Doe', 21, 'Computer Science'])
  1. .items(): obtiene claves y valores como pares.
   for key, value in student_info.items():
       print(f'{key}: {value}')
   # Output: 
   # name: John Doe
   # age: 21
   # major: Computer Science
  1. .update(): actualiza un diccionario con otro diccionario o pares clave-valor.
   student_info.update({'grade': 'A'})
   print(student_info)  
   # Output: {'name': 'John Doe', 'age': 21, 'major': 'Computer Science', 'grade': 'A'}
  1. .setdefault(): Agrega una clave con un valor predeterminado si la clave no existe.
   student_info.setdefault('graduation_year', 2024)
   print(student_info)  
   # Output: {'name': 'John Doe', 'age': 21, 'major': 'Computer Science', 'grade': 'A', 'graduation_year': 2024}

Concluyendo

Los diccionarios son súper poderosos y realmente pueden ayudarte a seguir el principio DRY en tu código. Al utilizar diccionarios, evitas repetirte, mantienes tu código organizado y lo haces más fácil de leer y mantener.

Entonces, la próxima vez que te encuentres creando un montón de variables similares, considera usar un diccionario. ¡Te ahorrará un montón de tiempo y esfuerzo, y tu yo futuro te lo agradecerá! ?

¡Feliz codificación! ?

Declaración de liberación Este artículo se reproduce en: https://dev.to/aashwinkumar/how-python-dictionaries-keep-your-code-clean-and-dry-3067?1 Si hay alguna infracción, comuníquese con [email protected] para borrarlo
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3