Python 演算子は再定義できますか?

Mary-Kate Olsen
リリース: 2024-10-22 06:37:02
オリジナル
346 人が閲覧しました

Can Python Operators Be Redefined?

Python での演算子のオーバーロード

Python では、カスタム演算子の定義は直接サポートされていません。ただし、賢い回避策を使用すると、既存の演算子を変更して、新しい演算子を作成したように見せることができます。この「中置」テクニックにより、次の例のように、2 つの式の間で機能する演算子の定義が可能になります。

<code class="python"># Simple multiplication operator
x = Infix(lambda x, y: x * y)
print(2 |x| 4)  # Output: 8</code>
ログイン後にコピー

この例では、|x|演算子は乗算演算子 (*) と同様に動作します。同様に、カスタム比較の演算子を次のように定義できます。

<code class="python"># Class checking operator
isa = Infix(lambda x, y: x.__class__ == y.__class__)
print([1, 2, 3] |isa| [])  # Output: True
print([1, 2, 3] <<isa>> [])  # Output: True</code>
ログイン後にコピー

ここでは、|isa|演算子は、2 つの式が同じクラスに属しているかどうかを確認します。この回避策は、Python の演算子の機能を効果的に拡張し、新しい構文を必要とせずにカスタム操作を柔軟に定義できるようにします。

以上がPython 演算子は再定義できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!