問題タブ [python-datamodel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python に "__req__" (反映された等価) メソッドがないのはなぜですか?
私は小さなヘルパークラスを持っています:
これにより、次のような甘い魔法を実行できます。
( のように) リスト内包表記を使用する必要はありませnp.array(x in (2,3) for x in arrん。
(私は、(信頼できる) ユーザーが任意のコードを入力できるようにする UI を維持しており、a == AnyOf(1,2,3)技術に詳しくないユーザーにとっては、リストの理解よりもはるかに受け入れやすいものです。)
でも!
これは一方向にしか機能しません。たとえば、AnyOf(2,3) == arrそうすると、AnyOfクラスの__eq__メソッドが呼び出されることはありません。代わりに、NumPy 配列のメソッドが呼び出され、内部的に (推測すると思いますが)そのすべての要素の__eq__メソッドが呼び出されます。__eq__
これは私を疑問に思いました: なぜ Python は右辺の同等物を許可しないの__eq__ですか? __radd__( 、 などのメソッドとほぼ同等__rmul__です。)