Thanks so much. You've been a great help. You have confirmed that the lecture's question is flawed.
Appreciate the help. Regards Vusa On Thu, Feb 9, 2017 at 12:02 PM, Alan Gauld via Tutor <tutor@python.org> wrote: > On 09/02/17 09:25, Vusa Moyo wrote: > > > class Cat: > > name = "" > > kind = "cat" > > color = "" > > value = 100.00 > > > > def description(self): > > desc_str = "%s is a %s %s cat worth R%.2f." % (self.name, > > self.color, self.kind, self.value) > > return desc_str > > > > The above code is the question, which I am not allowed to edit. > > > > So just to test the lecturer's code, I run the command > > > > print(Cat.description()) > > But the definition of description() take an argument - self. > self is expected to be an instance of Cat. > You can either pass that in manually > > print( Cat.description(Cat()) ) > > or, more normally, create an instance of cat and call > description on that: > > my_cat = Cat() > print( my_cat.description() ) > > > Any other code I append to it by inheriting the class Cat, will still > have > > that similar error. > > I'm not sure what you mean by that, I'd need an example. > If you mean you just add the code after the above line then > obviously you will still get the error. > > > Now, I've added the following code to inherit the class Cat: description. > > > > class Cat1(Cat): > > name = "Whiskers" > > kind = "Burmese cat" > > color = "grey" > > value = 3000.00 > > > > When I run this command, I still receive the same error. > > > > print(Cat1.description()) > > For the same reason; you are still not passing an instance > of Cat (or Cat1) to the method. You need to create an > instance and then call the method on that: > > other_cat = Cat1() > print( other_cat.description() ) > > > -- > Alan G > Author of the Learn to Program web site > http://www.alan-g.me.uk/ > http://www.amazon.com/author/alan_gauld > Follow my photo-blog on Flickr at: > http://www.flickr.com/photos/alangauldphotos > > > _______________________________________________ > Tutor maillist - Tutor@python.org > To unsubscribe or change subscription options: > https://mail.python.org/mailman/listinfo/tutor > _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor