我在 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 類的默認值來實體化一個 Teenager 物件,name而phone無需在類中再次宣告它們Teenarger?
當我嘗試:
teen = Teenager(website='www.example.com')
我收到了這個錯誤:
TypeError: __init__() missing 2 required positional arguments: 'name' and 'phone'
uj5u.com熱心網友回復:
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')
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/459984.html
上一篇:如何在不使用“isinstance”的情況下告訴PyCharm一個物件是一種型別的特化(子類)?
下一篇:在兒童班中復制和移動成語?
