Obtener un diccionario de un campo de objetos

En este artículo, discutiremos cómo obtener un diccionario del campo del objeto, es decir, cómo obtener los miembros de la clase en forma de diccionario. Hay dos enfoques para resolver el problema anterior:  

  1. Usando el atributo __dict__ en un objeto de una clase y obteniendo el diccionario. Todos los objetos en Python tienen un atributo __dict__, que es un objeto de diccionario que contiene todos los atributos definidos para ese objeto en sí. El mapeo de atributos con sus valores se realiza para generar un diccionario.
  2. Llamando al método vars incorporado, que se usa para devolver el atributo __dict__ de un módulo, clase, instancia de clase o un objeto.

# Método 1: Para generar un diccionario a partir de un objeto arbitrario usando __dict__attribute:

Python3

# class Animals is declared
class Animals:
      
    # constructor
    def __init__(self):
          
        # keys are initialized with
        # their respective values
        self.lion = 'carnivore'
        self.dog = 'omnivore'
        self.giraffe = 'herbivore'
  
    def printit(self):
        print("Dictionary from the object fields\
        belonging to the class Animals:")
  
  
# object animal of class Animals
animal = Animals()
  
# calling printit method
animal.printit()
# calling attribute __dict__ on animal
# object and printing it
print(animal.__dict__)

Producción:

Diccionario de los campos de objetos pertenecientes a la clase Animales:
{‘león’: ‘carnívoro’, ‘perro’: ‘omnívoro’, ‘jirafa’: ‘herbívoro’}

#Método 2: para generar un diccionario a partir de un objeto arbitrario usando un método vars incorporado:

Python3

# class A is declared
class A:
      
    # constructor
    def __init__(self):
          
        # keys are initialized with 
        # their respective values
        self.A = 1
        self.B = 2
        self.C = 3
        self.D = 4
  
# object obj of class A
obj = A()
  
# calling vars method on obj object
print(vars(obj))

Producción:

{'A': 1, 'B': 2, 'C': 3, 'D': 4}

Publicación traducida automáticamente

Artículo escrito por manandeep1610 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *