Pythonのチルダ演算子の使用法は何ですか?
文字列が回文かどうかをチェックするなど、文字列またはリストの両側で何かを実行することを考えることができます。
def is_palindromic(s):
return all(s[i] == s[~i] for i in range(len(s) / 2))
他の良い使い方は?
-False==0
)あなたがについて話していた~
ので、~False == -1
それは紛らわしく、それは偽ではありません。
__neg__
)と比較することです。たぶん私はTrue
、たとえば-True == -1
-2やFalse
false ではないを使い続けたほうがいいでしょう。これは~True
結果をより明確にリンクし、aの算術否定はbool
その論理否定とは異なることを示しています。私は深くなることを試みていませんでした。私は3つの操作と、時々混乱する基になる特別なメソッドを強調表示していました。
~
特別なメソッドによって実装された単項補数演算子は、(または2.xで)によって返される値を論理的に否定する演算子__invert__
とは関係がないことに注意してください。また、によって実装される単項否定演算子とは無関係です。たとえば、はfalseでないか、false はまだです。not
__bool__
__nonzero__
-
__neg__
~True == -2
False
-False == 0