I was just trying out a programme for learning classes in python >> >> The prog below is showing an error which it should not show : >> >> class Bag: >> def __init__(self, x): >> self.data = [] >> > > You do nothing with x here. Right so x shouldnot be in the argument. > Fine
*class Bag: > def __init__(self): > self.data = []* > > >> def add(self, x): >> self.data.append(x) >> def addtwice(self, x): >> self.add(x) >> self.add(x) >> y = Bag(4) >> > > Create y with an argument of 4 'which is discarded in the initialiser.' > means ?? > > > print " Adding twice of %4.2f gives " % (y.addtwice()) >> > > There's no argument passed to addtwice here. ' why am I not passing y to > addtwice here ?? > > > >> >> Error is : >> >> Traceback (most recent call last): >> File "Z:\learning Python\learn5.py", line 35, in <module> >> print " Adding twice of %4.2f gives " % (y.addtwice()) >> TypeError: addtwice() takes exactly 2 arguments (1 given) >> > > Exactly what I'd expect to happen. What did you expect? I am learning > .... > > > >> why the prog is having this error with self nd x as arguments ??? >> > > What x argument? Clearly wrong as I've pointed out above. How can i > correct it ?? > > >> >> >> > -- > Cheers. > > Mark Lawrence. > > -- > http://mail.python.org/mailman/listinfo/python-list >
-- http://mail.python.org/mailman/listinfo/python-list