2012-02-09 14 views
2

intersectメソッドまたは&オペレータをPythonセットで使用する方法の違いは何ですか?以前のバージョンでは、&への引数は、もはやそうではないように思われるが、どのような繰り返し可能なものでもなく、セットでなければならなかった。オペレータ版と非オペレータ版のPythonセット操作の違い

セマンティクス、制約、パフォーマンス、または単にpythonicスタイルの点で違いはありますか?

答えて

3

メソッドは後で使用するために名前にバインドすることができますが、演算子はより大きな抽象化のためにoperatorモジュールの演算に置き換えることができます。

1

機能に違いはありませんが、演算子の使用はPythonの特殊ケースがこれらのメソッドにアクセスするため、少し速くなります。ほとんどのプログラムのパフォーマンスの違いは、オペレータの使用を要求するほど大きくはありません。

+0

「これらの方法への特別なアクセスはどういう意味ですか? – atlantis

+0

私は、オブジェクトがインスタンス化されてテーブルなどに格納されているときに、Pythonが演算子メソッドのアドレスを参照するので、それらのオブジェクトに対して通常の属性参照を行う必要はありません。私は100%これについては確信していないが、私はどこかでそれを読んで覚えているようだ。 – kindall