It looks like you're using single underscores, not double: the methods should be __init__ and __str__.
On 1 March 2013 18:35, leonardo selmi <l.se...@icloud.com> wrote: > hi guys > > i typed the following program: > > class ball: > def _init_(self, color, size, direction): > self.color = color > self.size = size > self.direction = direction > > def _str_(self): > msg = 'hi, i am a ' + self.size + ' ' + self.color + 'ball!' > return msg > > myball = ball('red', 'small', 'down') > print my ball > > BUT I GOT THIS ERROR: > > Traceback (most recent call last): > File "/Users/leonardo/Documents/ball2.py", line 11, in <module> > myball = ball('red', 'small', 'down') > TypeError: this constructor takes no arguments > > can you kindly tell me what is wrong? > thanks a lot! > -- > http://mail.python.org/mailman/listinfo/python-list -- Robert K. Day robert....@merton.oxon.org -- http://mail.python.org/mailman/listinfo/python-list