こんにちは私は簡単な質問がありますが、私が探していた直接の比較を見つけることができませんでした。属性呼び出し速度VSメソッド呼び出しPython
私の質問は次のとおりです。
は属性を呼び出すと、Pythonでメソッドを呼び出すよりも高速になりがちありません。
私はゲームを持っており、プレイヤーが惑星を発見したかどうかをチェックしたいと思います。私はそれを行うための2つの方法のいずれかを削除したいが、私は」ので、私は求めている理由がある
self.game.player.logbook[planet.name].is_discovered == True
:
def check_exploration(self, planet):
return True if self.name in planet.explored_by else False
または属性を確認してください:私はへの呼び出しを行うことができますいずれかどちらに行くか分からない。
属性を使用しているときに私は多くの呼び出しがありますが、これは私のゲームデザインのためです。すべてのオブジェクトは私のゲームオブジェクトにリンクしています。だから、私はゲームオブジェクトに行き、ターゲットオブジェクトの場所に "戻る"ことで各オブジェクトにアクセスできます。面倒ですが、無限の循環参照を引き起こすモジュール間を飛び回るよりもずっと面倒ではないことがわかりました。
ありがとうございます。
'planet.explored_by他false'を中self.nameだけのいずれかの方法が十分に速くなり、あなたのユースケースについてplanet.explored_by' – wim
でself.nameを返す'べきである場合にtrueを返します下回っていました。パフォーマンス上の理由から、1つを他のものよりも選択することには意味がありません。どのスタイルでもコードを最も見やすくすることができます。 – wim
別の言い方をすると、[時期尚早な最適化はすべての悪の根源です](http://c2.com/cgi/wiki?PrematureOptimization) – Barmar