classes

inshu chauhan insideshoes at gmail.com
Wed Oct 24 08:48:45 EDT 2012


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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20121024/82b733af/attachment.html>


More information about the Python-list mailing list