Trabajar con Dictionary es algo bueno, pero cuando tenemos muchos diccionarios, se vuelve difícil de usar. Así que entendamos cómo podemos convertir un diccionario en una clase.
Acercarse
Tomemos un diccionario simple «my_dict» que tiene el Nombre, Rango y Asunto como mis Claves y tienen los valores correspondientes como Geeks, 1223, Python. Estamos llamando a una función aquí Dict2Class que toma nuestro diccionario como entrada y lo convierte en clase. Luego recorremos nuestro diccionario usando la función setattr() para agregar cada una de las claves como atributos a la clase.
setattr() se usa para asignar el atributo del objeto a su valor. Además de las formas de asignar valores a las variables de clase, a través de constructores y funciones de objetos, este método le brinda una forma alternativa de asignar valores.
Sintaxis: setattr(obj, var, val)
Parámetros:
obj: Objeto cuyo atributo se va a asignar.
var : atributo del objeto que se tiene que asignar.
val : valor con el que se va a asignar la variable.Devoluciones:
Ninguna
A continuación se muestra la implementación.
Python3
# Turns a dictionary into a class class Dict2Class(object): def __init__(self, my_dict): for key in my_dict: setattr(self, key, my_dict[key]) # Driver Code if __name__ == "__main__": # Creating the dictionary my_dict = {"Name": "Geeks", "Rank": "1223", "Subject": "Python"} result = Dict2Class(my_dict) # printing the result print("After Converting Dictionary to Class : ") print(result.Name, result.Rank, result.Subject) print(type(result))
Producción:
After Converting Dictionary to Class : Geeks 1223 Python <class '__main__.Dict2Class'>
Publicación traducida automáticamente
Artículo escrito por atharvapaliwal7 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA