在python中实践继承
我在python上练习继承。我不确定如何改变父类的变量名。
# Parent Class
class Family_Member():
def __init__(self, name):
self.name = name
def catch_phrase(self):
print("I am a family member")
# Child Class
class Mum(Family_Member):
def __init__(self):
Family_Member.__init__(self)
# Attempting to change variable of parent class from child class
My_Mum = Mum("Kerry")
得到
TypeError: __init__() takes 1 positional argument but 2 were given
为什么会发生这种情况?如何将成员命名为Kerry而不出现此错误
当我不包含init时,为什么不发生此错误函数在子类中。例如:
# Attempt 2 class Family_Member(): def __init__(self, name): self.name = name def catch_phrase(self): print("I am a family member") class Mum(Family_Member): # THIS CLASS IS NOW EMPTY pass My_Mum = Mum("Kerry") print(My_Mum.name)
class Family_Member():
def __init__(self, name):
self.name = name
def catch_phrase(self):
print("I am a family member")
class Mum(Family_Member):
def __init__(self, name):
Family_Member.__init__(self, name)
My_Mum = Mum("Kerry")
应该可以工作,是吗?