Consider the following example:
class A: @property def x(self): return 5
So, of course calling the a = A(); a.x will retur
a = A(); a.x
In your second example, you're using a.x() as if it were a function: a.x(neg=True). With this in mind, why not just define it as a function?
a.x()
a.x(neg=True)