Beginner questions regarding Python classes.
        Posted  
        
            by Andy
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Andy
        
        
        
        Published on 2010-06-16T13:32:15Z
        Indexed on 
            2010/06/16
            13:42 UTC
        
        
        Read the original article
        Hit count: 251
        
Hi. I am new to Python so please don't flame me if I ask something too noobish :)
1.
Consider I have a class:
class Test:
    def __init__(self, x, y):
        self.x = x
        self.y = y
    def wow():
        print 5 * 5
Now I try to create an object of the class:
x = Test(3, 4)
This works as expected. However, when I try to call the method wow(), it returns an error, which is fixed by changing wow() to:
def wow(self)
Why do I need to include self and if I don't, what does the method mean?
2. In the definition of __init__:
def __init__(self, x, y):
   self.x = x
   self.y = y
Why do I need to declare x and y, when I can do this:
def __init__(self):
    self.x = x
    self.y = y
I hope I am being clear...
Thanks for your time.
© Stack Overflow or respective owner