Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #32037 > unrolled thread
| Started by | Mark Lawrence <breamoreboy@yahoo.co.uk> |
|---|---|
| First post | 2012-10-24 14:09 +0100 |
| Last post | 2012-10-24 14:09 +0100 |
| Articles | 1 — 1 participant |
Back to article view | Back to comp.lang.python
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: classes Mark Lawrence <breamoreboy@yahoo.co.uk> - 2012-10-24 14:09 +0100
| From | Mark Lawrence <breamoreboy@yahoo.co.uk> |
|---|---|
| Date | 2012-10-24 14:09 +0100 |
| Subject | Re: classes |
| Message-ID | <mailman.2761.1351084020.27098.python-list@python.org> |
On 24/10/2012 13:48, 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. 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) No return given so it will default to returning None, but... >>> 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()) ...you seem to be expecting addtwice to be returning a Python float. Only you can tell us why as I've not yet gone to first year mind reading classes :) >>> >> >> There's no argument passed to addtwice here. ' why am I not passing y to >> addtwice here ?? You are passing y, it's called self. Why aren't you passing x? >> >> >> >>> >>> 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 ?? Put whatever it is you want appended to self.data in the call to y.addtwice. And/or get addtwice to return the correct data type. And/or correct anything that I've missed like I did the first time around. >> >> >> -- >> Cheers. >> >> Mark Lawrence. >> >> -- >> http://mail.python.org/mailman/listinfo/python-list >> > -- Cheers. Mark Lawrence.
Back to top | Article view | comp.lang.python
csiph-web