[Tutor] Help with Multiple Inheritance in Classes
Vusa Moyo
soweto at gmail.com
Thu Feb 9 04:25:54 EST 2017
Hi Alan.
You are correct with the indentation.
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())
This returns an error.
>>>> TypeError: description() missing 1 required positional argument: 'self'
To me, this is flawed. I should be able to get a fault less response from
that command.
Any other code I append to it by inheriting the class Cat, will still have
that similar 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())
Please assist where possible.
Regards
Vusa
On Wed, Feb 8, 2017 at 11:06 AM, Alan Gauld via Tutor <tutor at python.org>
wrote:
> On 08/02/17 07:11, Vusa Moyo wrote:
> > I have a suspicion my lecturer's question is flawed, so I'd like to pose
> it
> > to you guys to confirm my suspicions.
>
> I think your interpretation of the question is flawed.
> See Peter's reply for why.
>
> However another point is....
>
> > 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)
>
> Python is sensitive to indentation. This line needs
> to be indented inside the def statement. (This may
> be a mail formatting issue but since the rest of
> your code looks OK I doubt it)
>
>
>
> --
> 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