Qual é o uso do operador til no Python?
Uma coisa que posso pensar é fazer algo nos dois lados de uma string ou lista, como verificar se uma string é palindrômica ou não:
def is_palindromic(s):
return all(s[i] == s[~i] for i in range(len(s) / 2))
Algum outro bom uso?
-False==0
) Sua confuso, já que você estava falando sobre o ~
, e ~False == -1
que não é falso.
__neg__
). Provavelmente eu deveria ter continuado usando True
, por exemplo -True == -1
, que não é -2 ou False
ou falso, o que o vincula mais claramente ao ~True
resultado e também que a negação aritmética de a bool
é diferente de sua negação lógica. Eu não estava tentando ser profundo. Eu estava apenas destacando três operações e os métodos especiais subjacentes que às vezes ficam confusos.
~
implementado pelo método especial__invert__
não está relacionado aonot
operador, o que nega logicamente o valor retornado por__bool__
(ou__nonzero__
em 2.x). Também não está relacionado ao-
operador de negação unário, implementado por__neg__
. Por exemplo~True == -2
, o que não éFalse
ou falso, e o-False == 0
que ainda é falso.