我有一个Python的Person类

class Person:
    def __init__(self, name='Sam', phone=456):
        self.name = name
        self.phone = phone

还有一个从Person继承下来的青少年阶级:

class Teenager(Person):
        def __init__(self, name, phone,website):
            super().__init__(name, phone)
            self.website = website

有没有一种方法可以使用Person类namephone的默认值实例化一个青少年对象,而不用在Teenarger类中再次声明它们?

当我try 时:

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相关问答推荐

并行相乘不同形状的矩阵对

替换为Pandas

为什么Pydantic在我申报邮箱时说邮箱丢失

如何将uint 16表示为float 16

获取Azure Pipelines以从pyproject.toml(而不是relevments_dev.文本)安装测试环境

当测试字符串100%包含查询字符串时,为什么t fuzzywuzzy s Process.extractBests不给出100%分数?

键盘.任务组

给定数据点,制定它们的关系

是什么导致对Python脚本的jQuery Ajax调用引发500错误?

请从Python访问kivy子部件的功能需要帮助

剧作家Python:expect(locator).to_be_visible()vs locator.wait_for()

替换字符串中的多个重叠子字符串

未删除映射表的行

为什么这个带有List输入的简单numba函数这么慢

如何从.cgi网站刮一张表到rame?

Pandas:将多级列名改为一级

如果值发生变化,则列上的极性累积和

为什么Django管理页面和我的页面的其他CSS文件和图片都找不到?'

如何禁用FastAPI应用程序的Swagger UI autodoc中的application/json?

如何使regex代码只适用于空的目标单元格