Using Properties in Python classes cause "maximum recursion depth exceeded"
<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>