title: Using Properties in Python classes cause "maximum recursion depth exceeded"
body: <p>Here is a test class that I wrote to became familiar with <code>@properties</code> and <code>setter</code> functionality in Python script:</p>
  
  <pre><code>class Test(object):
      def __init__(self, value):
          self.x =  value
      @property
      def x(self):
          return self.x
      @x.setter
      def x(self, value):
          self.x = value
  </code></pre>
  
  <p>The problems is that when I want to create an object from my class, I face the following error:</p>
  
  <pre><code>&gt;&gt;&gt; t = Test(1)
  
  Traceback (most recent call last):
    File "&lt;pyshell#19&gt;", line 1, in &lt;module&gt;
      t = Test(1)
    File "&lt;pyshell#18&gt;", line 3, in __init__
      self.x =  value
    File "&lt;pyshell#18&gt;", line 9, in x
      self.x = value
    File "&lt;pyshell#18&gt;", line 9, in x
    #A bunch of lines skipped
  RuntimeError: maximum recursion depth exceeded
  &gt;&gt;&gt; 
  </code></pre>