【发布时间】:2023-03-22 16:55:01
【问题描述】:
class Animal(object):
def __init__(self, nlegs=4):
print '__init__ Animal'
self.nlegs = nlegs
class Cat(Animal):
def __init__(self, talk='meow'):
print '__init__ Cat'
self.talk = talk
class Dog(Animal):
def __init__(self, talk='woof'):
print '__init__ Dog'
self.talk = talk
- 为什么我的猫
tom = Cat()没有nlegs 属性? - 我们应该在
Cat.__init__中显式调用Animal.__init__(),还是应该做一些更花哨的事情,比如使用super? - 如果我想创建一个有 5 条腿的猫,我需要在
Cat.__init__接口中添加额外的参数吗?
【问题讨论】:
标签: python inheritance constructor