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 サイトの他の関連記事を参照してください。