¿Qué hace el operador ~ en Python [duplicado]
Frecuentes
Visto 903 veces
0
Este es mi intento de entender lo que hace:
>>> ~
SyntaxError: invalid syntax
>>> print ~
SyntaxError: invalid syntax
>>> ~ = cheese
SyntaxError: invalid syntax
>>> ~ = "21"
SyntaxError: invalid syntax
>>> 2 ~ 1
SyntaxError: invalid syntax
>>> ~ = "w"
SyntaxError: invalid syntax
>>> a = "w"
>>> a
'w'
>>> print ~8
-9
>>> print ~w
Traceback (most recent call last):
File "<pyshell#9>", line 1, in <module>
print ~w
NameError: name 'w' is not defined
>>> print ~"w"
Parece que solo funciona con números, por lo que sería muy útil una explicación y un enlace a alguna documentación.
1 Respuestas
7
~
es un operador unario (es decir, solo toma un argumento) que calcula el bit a bit inversa de su argumento. El resultado es -x - 1
, porque en Complemento a dos representación, -x
es lo mismo que invertir todos los bits y luego agregar uno.
Respondido el 11 de Septiembre de 13 a las 14:09
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas python python-2.7 or haz tu propia pregunta.
GoogleMedo - RickyA
Pensé que se llamaba tridle - Games Brainiac
lo tengo puesto buena autoridad que se pronuncia "twiddle". Sobre el otra mano podría pronunciarse "seleccionar". - msw
Por amor a lo que crees que es bueno, ¿podrías detenerlo con los votos negativos? ya lo entiendo - Games Brainiac