¿Cuál es el uso del operador tilde en Python?
Una cosa en la que puedo pensar es hacer algo en ambos lados de una cadena o lista, como verificar si una cadena es palindrómica o no:
def is_palindromic(s):
return all(s[i] == s[~i] for i in range(len(s) / 2))
¿Algún otro buen uso?
-False==0) Es confuso, ya que estabas hablando sobre el ~, y ~False == -1que no es falso.
__neg__). Probablemente debería haber seguido usando True, por ejemplo -True == -1, que no es -2 o Falsefalso, lo que lo vincula más claramente con el ~Trueresultado y también que la negación aritmética de a booles diferente de su negación lógica. No estaba tratando de ser profundo. Solo estaba destacando 3 operaciones y los métodos especiales subyacentes que a veces se confunden.
~implementado por el método especial__invert__no está relacionado con elnotoperador, que lógicamente niega el valor devuelto por__bool__(o__nonzero__en 2.x). Tampoco está relacionado con el-operador de negación unario, implementado por__neg__. Por ejemplo~True == -2, que no esFalseo falso, y-False == 0que sigue siendo falso.