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やFalsefalse ではないを使い続けたほうがいいでしょう。これは~True結果をより明確にリンクし、aの算術否定はboolその論理否定とは異なることを示しています。私は深くなることを試みていませんでした。私は3つの操作と、時々混乱する基になる特別なメソッドを強調表示していました。
~特別なメソッドによって実装された単項補数演算子は、(または2.xで)によって返される値を論理的に否定する演算子__invert__とは関係がないことに注意してください。また、によって実装される単項否定演算子とは無関係です。たとえば、はfalseでないか、false はまだです。not__bool____nonzero__-__neg__~True == -2False-False == 0