title: Python: How to pass more than one argument to the property getter?
body: <p>Consider the following example:</p>
  
  <pre><code>class A:
      @property
      def x(self): return 5
  </code></pre>
  
  <p>So, of course calling the <code>a = A(); a.x</code> will return <code>5</code></p>
  
  <p>But imagine that you want to be able to modify the property x.<br>
  This way, for example:</p>
  
  <pre><code>class A:
      @property
      def x(self, neg = False): return 5 if not neg else -5
  </code></pre>
  
  <p>And call it with <code>a = A(); a.x(neg=True)</code></p>
  
  <p>That will raise a TypeError: <code>'int' object is not callable</code>, that is quite normal, since our <code>x</code> is evaluated as <code>5</code>.</p>
  
  <p>So, I would like to know how one can pass more then one argument to the property getter, if it is possible at all.</p>