我对 Python 有点陌生,我的字典遇到了一个非常奇怪的问题,我似乎无法弄清楚。
基本上我有一个名为World的类,它有一个字典self.islands = {}
问题是当我想使用World中的方法添加我的Island类的实例时,我得到了错误:addIsland(island)
AttributeError:世界实例没有属性“岛屿”
在线上:
self.islands[island.name] = island
self.islands 肯定存在,因为我在 World 中将其初始化如下__init__
:
class World():
def __init__(showBase, self):
self.islands = {}
...
addIsland 方法是:
def addIsland(self, island):
island.setWorld(self)
self.islands[island.name] = island
并且从基类(主要运行)调用该方法__init__
,如下所示:
self.world = World(self)
self.setupIslands()
self.setupIslands() 看起来像:
def setupIslands(self):
#Island 1
island1 = IslandCross()
self.world.addIsland(island1)
抱歉,如果有点混乱,但基本上我有 3 个类,基本类有一个 main,__init__
它调用self.world = World(self)
then self.setupIslands()
。
World's 具有尝试将Island__init__
添加到字典中的行self.islands = {}
和方法,其中键作为岛的名称 ( ),其值作为岛实例本身。addIsland()
island.name
我在这里做错了什么?我很确定我的项目中的其他地方也有这种设置。
我敢打赌这是一件愚蠢而简单的事情,不是吗:)
谢谢你的时间,
英菲尼迪菲兹