ホームページ > バックエンド開発 > Python チュートリアル > Python のチルダ (~) 演算子の用途と応用は何ですか?

Python のチルダ (~) 演算子の用途と応用は何ですか?

Mary-Kate Olsen
リリース: 2024-12-05 22:39:09
オリジナル
266 人が閲覧しました

What are the Uses and Applications of Python's Tilde (~) Operator?

Python のチルダ演算子を調べる

C から継承されたチルダ (~) 演算子は、オペランドのビットを反転する単項演算子です。 Python では、その主な役割には整数のビット単位の演算が含まれます。

整数のビット単位反転

整数の場合、~ 演算子はそれらを負の補数に効果的に変換します。これは、2 の補数表現の各ビットを反転し、結果を符号付き整数として解釈することによって実現されます。したがって、~x は (-x) - 1 と等価です。

例として、2 進数表現の整数 5 は 0101 となります。 ~ 演算子を適用すると、1010 が生成されます。これは、符号付き整数として解釈される場合、-6 を表します。

整数を超えて: 追加の使用例

整数を超えて、~ 演算子は次のようになります。その他の注目すべきアプリケーション:

補完ブール演算: ~ 演算子はブール値を否定し、True を False に変更したり、その逆を行うことができます。

ビット単位の操作: 他のビット単位の演算子 (&、^ など) と組み合わせて使用​​します。 、バイナリ データに対する複雑な操作が可能になります。

Cyclicインデックス作成: ~ 演算子をシーケンスで使用すると循環インデックスを実行でき、負のインデックスをシーケンスの反対側にラップアラウンドできるようになります。

カスタム クラスの演算子のオーバーロード

Pythonカスタム クラスの演算子のオーバーロードをサポートします。クラスの補数演算を定義することが合理的であれば、invert メソッドを実装することで実現できます。

たとえば、次のコードでは、Foo クラスは invert インスタンスの逆を返すメソッド:

class Foo:
    def __invert__(self):
        print('invert')
ログイン後にコピー

Foo のインスタンスに ~ 演算子を適用すると、したがって、'invert' を出力します。

以上がPython のチルダ (~) 演算子の用途と応用は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート