python tilde unary operator as negation numpy bool array
not is implemented through the __nonzero__ special method, which is required to return either True or False, so it can’t give the required result. Instead the ~ operator is used, which is implemented through the __not__ special method. For the same reason, & and | are used in place of and and or. PEP 335 …