1

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

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

有没有办法缩短这个?我不相信性能有那么好,而且它也不是干净的代码。

4

2 回答 2

2

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

f = self.handleToEngine.player.playerObj.animationHandler.doSomething
f ()
于 2013-02-08T08:07:34.997 回答
1

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

于 2013-02-08T08:07:26.227 回答