Beginner questions regarding Python classes
<p>I am new to Python so please don't flame me if I ask something too noobish :)</p>

<p>1.</p>

<p>Consider I have a class:</p>

<pre><code>class Test:
    def __init__(self, x, y):
        self.x = x
        self.y = y
    def wow():
        print 5 * 5
</code></pre>

<p>Now I try to create an object of the class:</p>

<pre><code>x = Test(3, 4)
</code></pre>

<p>This works as expected. However, when I try to call the method wow(), it returns an error, which is fixed by changing wow() to:</p>

<pre><code>def wow(self)
</code></pre>

<p>Why do I need to include <code>self</code> and if I don't, what does the method mean?<br/><br/>2. In the definition of <code>__init__</code>:</p>

<pre><code>def __init__(self, x, y):
   self.x = x
   self.y = y
</code></pre>

<p>Why do I need to declare x and y, when I can do this:</p>

<pre><code>def __init__(self):
    self.x = x
    self.y = y
</code></pre>

<p>I hope I am being clear... </p>

<p>Thanks for your time.</p>
