Python-如何获取类中的自变量列表由N-self组成

时间:2016-12-12 12:56:03

标签: python python-3.x variables self mesa

编辑:

我想生成N个代理。每个代理都有一个名称,因此我从名称创建一个随机名称并将其分配给类Agent。

运行模型后,我想获取代理名称列表。

这是来自台面:

Aryan
Kim
Nap
Semi
kim

在互动会话上

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()

我收到了这个错误:

文件“C:\ src__init __。py”,第7行,in     atr = list([在MoneyAgent.name中为a]) AttributeError:类型对象'MoneyAgent'没有属性'name'

如何解决?

1 个答案:

答案 0 :(得分:3)

以下是我对您的问题的解释:您正在创建一个MoneyModel对象,其中包含存储在类似集合的对象中的MoneyAgent个对象的集合,称为{{ 1}},您希望MoneyModel.schedule集合中每个list对象的name MoneyAgent

假设MoneyModel.schedule表现为可迭代对象,则以下内容应该有效:

MoneyModel.schedule