Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python-mesa:如何获取每个对象的实例变量_Python_Instance Variables_Mesa Abm - Fatal编程技术网

Python-mesa:如何获取每个对象的实例变量

Python-mesa:如何获取每个对象的实例变量,python,instance-variables,mesa-abm,Python,Instance Variables,Mesa Abm,我正在为我的程序使用mesa。我正在尝试执行我的模型类,但我从代理类获得AttributeError 这是我的剧本: class ComtrModel (Model): """ A model with some number of Agents""" def __init__(self,N): self.num_agents = N self.schedule = RandomActivation(self) for i in r

我正在为我的程序使用mesa。我正在尝试执行我的模型类,但我从代理类获得AttributeError

这是我的剧本:

class ComtrModel (Model):
    """ A model with some number of Agents"""
    def __init__(self,N):
        self.num_agents = N
        self.schedule = RandomActivation(self)
        for i in range (N):
            a = CommuterAgent(i)
            self.schedule.add(a)

class CommuterAgent (Agent):
    def __init__(self, model):
        self.famsize = famsize
        self.distance = distance
        self.update_need = None


    def step(self):
        if  self.distance >= 10000:
            self.update_need = self.update_need()
            return

    def update_need (self, famsize):
        if self.famsize :
            self.famsize = famsize
            return
            prob_need()
如何获取每个代理的变量?我需要检查一下以确保模型正常运行

到目前为止,这是我要执行的代码(在交互式会话上):

编辑:但它会返回

Traceback (most recent call last):
  File "C:src/__init__.py", line 3, in <module>
    from src.ComtrModel import *
  File "C:\src\__init__.py", line 9, in <module>
    for key, value in CommuterAgent.step(model):
  File "C:\src\ComtrModel.py", line 40, in step
    if  self.distance >= 10000:
AttributeError: 'ComtrModel' object has no attribute 'distance'
但它只适用于单个对象

def __init__(self, model):
        self.famsize = famsize
        self.distance = distance
        self.update_need = None

看起来不对。您不能将famsize和distance作为参数传递。

它在哪里引起错误?显示完整的回溯。@DanielRoseman编辑完整的回溯,但这与上一个问题完全相同。正如在那里得到的明确回答,您需要遍历
计划
列表。
>>> hi_obj = hi()
>>> hi_obj.__dict__.keys()
def __init__(self, model):
        self.famsize = famsize
        self.distance = distance
        self.update_need = None