Python: cómo obtener una lista de variables propias en una clase consiste en N-self

Editado:

Quiero generar N-numero de agentes. Cada agente tendrá un nombre, así que creo un nombre aleatorio a partir de los nombres y lo asigné a la clase Agente.

Después de ejecutar el modelo, quiero obtener la lista del nombre de mi agente.

Esto es de mesa:

import names from mesa import Agent, Model from mesa.time import RandomActivation class Agent(Agent): def __init__(self, name): self.name= names.get_full_name() self.wealth = 1 def step(self): pass class Model(Model): def __init__(self, N): self.num_agents = N self.schedule = RandomActivation(self) for i in range(N): a = MoneyAgent(i) self.schedule.add(a) def step(self): self.schedule.step() 

en sesión interactiva

 gow = MoneyModel(10) gow.step() atr = list([a for a in MoneyAgent.name]) print(atr) 

Tengo este error

Archivo “C: \ src__init __. Py”, línea 7, en atr = list ([a para en MoneyAgent.name]) AttributeError: el objeto de tipo ‘MoneyAgent’ no tiene ningún atributo ‘nombre’

¿Como arreglarlo?

Esta es mi interpretación de su problema: está creando un objeto MoneyModel que contiene una colección de objetos MoneyAgent almacenados en un objeto similar a una colección denominado MoneyModel.schedule , y desea una list de los name de cada objeto MoneyAgent dentro de su Colección MoneyModel.schedule .

Suponiendo que MoneyModel.schedule comporte como un objeto iterable, lo siguiente debería funcionar:

 atr = [agent.name for agent in gow.schedule]