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