#Maps.py
class Maps(object):
def __init__(self):
self.animals = []
self.currently_occupied = {}
def add_animal(self, name):
self.animals.append(name)
self.currently_occupied = {robot:[0, 0]}
#animal.py
class Animal(object):
def __init__(self, name):
import maps
maps.add_animal(rbt)
self.name = name
#Tproject.py
from Animal import Animal
Fred = Animal("Fred")
给我一个看起来像这样的错误
TypeError:未绑定(bind)方法 add_animal() 必须使用 Maps 实例作为第一个参数调用(取而代之的是 str 实例)
但我不知道它是什么意思,我无法通过谷歌或雅虎搜索来弄清楚:(
最佳答案
您需要一个 map 实例,而不是 map 类:
maps.Maps.add_animal("Fred") # gives error
mymap = maps.Map()
mymap.add_animal("Fred") # should work
因此,您应该在 Animal 类上为每个 Animal 实例或作为全局对象(任何最适合您的情况)设置一个 mymap 属性。
关于python - 以实例作为第一个参数的未绑定(bind)方法得到了字符串,但需要其他东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10645444/