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 に答える