All unary arithmetic (and bit-wise) operations have the same priority:
u_expr: primary | "-" u_expr | "+" u_expr | "~" u_expr
The unary "-" (minus) operator yields the negation of its
numeric argument.
The unary "+" (plus) operator yields its numeric argument
unchanged.
The unary "~" (invert) operator yields the bit-wise inversion
of its plain or long integer argument. The bit-wise inversion of
x is defined as -(x+1).
In all three cases, if the argument does not have the proper type,
a TypeError exception is raised.