classes

Mark Lawrence breamoreboy at yahoo.co.uk
Wed Oct 24 08:41:11 EDT 2012


On 24/10/2012 13:11, inshu chauhan wrote:
> 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.

>
>      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.

> print " Adding twice of %4.2f gives " % (y.addtwice())

There's no argument passed 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?

>
> why the prog is having this error with self nd x as arguments ???

What x argument?  Clearly wrong as I've pointed out above.

>
>
>

-- 
Cheers.

Mark Lawrence.




More information about the Python-list mailing list