在 Python 中的子 class 中使用属性的默认值
Use default values for attributes in child class in Python
我在Python
中有一个人class
class Person:
def __init__(self, name='Sam', phone=456):
self.name = name
self.phone = phone
和一个继承自 Person 的青少年 class:
class Teenager(Person):
def __init__(self, name, phone,website):
super().__init__(name, phone)
self.website = website
有没有一种方法可以使用 Person class 的默认值为 name
和 phone
实例化一个 Teenager 对象,而无需在 Teenarger
[=30= 中再次声明它们] ?
当我尝试时:
teen = Teenager(website='www.example.com')
我收到这个错误:
TypeError: __init__() missing 2 required positional arguments: 'name' and 'phone'
class Teenager(Person):
def __init__(self, website, **kwargs):
super().__init__(**kwargs)
self.website = website
teen = Teenager(website='www.example.com')
# or just
teen = Teenager('www.example.com')
我在Python
中有一个人classclass Person:
def __init__(self, name='Sam', phone=456):
self.name = name
self.phone = phone
和一个继承自 Person 的青少年 class:
class Teenager(Person):
def __init__(self, name, phone,website):
super().__init__(name, phone)
self.website = website
有没有一种方法可以使用 Person class 的默认值为 name
和 phone
实例化一个 Teenager 对象,而无需在 Teenarger
[=30= 中再次声明它们] ?
当我尝试时:
teen = Teenager(website='www.example.com')
我收到这个错误:
TypeError: __init__() missing 2 required positional arguments: 'name' and 'phone'
class Teenager(Person):
def __init__(self, website, **kwargs):
super().__init__(**kwargs)
self.website = website
teen = Teenager(website='www.example.com')
# or just
teen = Teenager('www.example.com')