我目前正在使用python编写游戏。我有一个主类(engine.py)和许多子类。主类有一些重要的变量,如播放器。当我现在在子类中,并且想要访问另一个变量或函数时,它通常看起来像这样:
self.handleToEngine.player.playerObj.animationHandler.doSomething()
有没有办法缩短这个?我不相信表现那么好,而且没有干净的代码。
答案 0 :(得分:2)
给它一个本地名称(也节省查询时间):
f = self.handleToEngine.player.playerObj.animationHandler.doSomething
f ()
答案 1 :(得分:1)
属性链反映了你的类结构,所以你当然可以重构它,如果它有意义的话。此外,在Python 2.2或更高版本中,您可以使用__slots__
来改善对成员数据的访问,但需要注意一些注意事项。