[Tutor] Help with Multiple Inheritance in Classes

Vusa Moyo soweto at gmail.com
Thu Feb 9 05:42:03 EST 2017


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 at 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 at python.org
> To unsubscribe or change subscription options:
> https://mail.python.org/mailman/listinfo/tutor
>


More information about the Tutor mailing list