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

Python のチルダ (~) 演算子は何をしますか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-30 11:09:10650ブラウズ

What Does the Tilde (~) Operator Do in Python?

Python チルダ演算子を理解する

Python のチルダ (~) 演算子は、ビットごとの逆または否定に使用される単項演算子です。整数を演算し、入力ビットの補数を返します。

整数の使用法

整数に適用すると、チルダ演算子は 2 のすべてのビットを反転します。整数の補数表現。結果は、2 の補数の整数として再度解釈されます。これにより、~x は (-x) - 1 と等価になります。

例:

>>> ~5
-6

カスタム クラスの反転の使用

具体化された~ 演算子の形式は、operator.invert です。クラスは、__invert__(self) メソッドを実装することでこの演算子をサポートできます。

たとえば:

import operator

class Foo:
    def __invert__(self):
        print('invert')

x = Foo()
operator.invert(x)  # Prints 'invert'
~x  # Also prints 'invert'

この演算子は、「補数」または同じクラスのインスタンスでもあるインスタンスの「逆」。

追加使用

整数の反転以外にも、チルダ演算子は文字列またはリストの両側でタスクを実行するために文字列スライスと組み合わせて使用​​されることがあります。たとえば、文字列が回文であるかどうかを確認するために使用できます。

def is_palindromic(s):
    return all(s[i] == s[~i] for i in range(len(s) // 2))

全体として、チルダ演算子は、Python のビットごとの反転とカスタム クラスの反転の両方に使用できる多用途ツールです。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。