Python - 访问顶级变量的更快捷方式

时间:2013-02-08 07:59:15

标签: python class

我目前正在使用python编写游戏。我有一个主类(engine.py)和许多子类。主类有一些重要的变量,如播放器。当我现在在子类中,并且想要访问另一个变量或函数时,它通常看起来像这样:

self.handleToEngine.player.playerObj.animationHandler.doSomething()

有没有办法缩短这个?我不相信表现那么好,而且没有干净的代码。

2 个答案:

答案 0 :(得分:2)

给它一个本地名称(也节省查询时间):

f = self.handleToEngine.player.playerObj.animationHandler.doSomething
f ()

答案 1 :(得分:1)

属性链反映了你的类结构,所以你当然可以重构它,如果它有意义的话。此外,在Python 2.2或更高版本中,您可以使用__slots__来改善对成员数据的访问,但需要注意一些注意事项。