Was ist die Verwendung des Tilde-Operators in Python?
Eine Sache, über die ich nachdenken kann, ist, auf beiden Seiten einer Zeichenfolge oder Liste etwas zu tun, z. B. zu überprüfen, ob eine Zeichenfolge palindrom ist oder nicht:
def is_palindromic(s):
return all(s[i] == s[~i] for i in range(len(s) / 2))
Irgendeine andere gute Verwendung?
-False==0) Es ist verwirrend, da du über das gesprochen hast ~und ~False == -1was nicht falsch ist.
__neg__). Wahrscheinlich hätte ich weiter verwenden sollen True, z. B. -True == -1was nicht -2 oder Falseoder falsch ist, was es deutlicher mit dem ~TrueErgebnis verknüpft und auch, dass sich die arithmetische Negation von a boolvon seiner logischen Negation unterscheidet. Ich habe nicht versucht, tief zu sein. Ich habe nur 3 Operationen und die zugrunde liegenden speziellen Methoden hervorgehoben, die manchmal verwirrt werden.
~durch die spezielle Methode implementierte unäre Komplementoperator__invert__nicht mit demnotOperator zusammenhängt, der den von__bool__(oder__nonzero__in 2.x) zurückgegebenen Wert logisch negiert . Es hat auch nichts mit dem-unären Negationsoperator zu tun, der von implementiert wird__neg__. Zum Beispiel~True == -2, was nichtFalseoder falsch ist und-False == 0was immer noch falsch ist.