Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #32037
| From | Mark Lawrence <breamoreboy@yahoo.co.uk> |
|---|---|
| Subject | Re: classes |
| Date | 2012-10-24 14:09 +0100 |
| References | <CAFqGZRE1LbAgoOCAKuynYBw4Rj6++p+misZrsXmv1nwivHuNwg@mail.gmail.com> <k68ngh$u49$1@ger.gmane.org> <CAFqGZRHRVBvvhBdcXUSb-h=fCFRVYS-SBGXRroRe=EMxRkjYaw@mail.gmail.com> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.2761.1351084020.27098.python-list@python.org> (permalink) |
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 comp.lang.python | Previous | Next | Find similar | Unroll thread
Re: classes Mark Lawrence <breamoreboy@yahoo.co.uk> - 2012-10-24 14:09 +0100
csiph-web