python class 繼承後 如何增加 init 的參數?
在 Python 中,當你使用繼承(class SubClass(SuperClass))並想要 在子類別中增加 __init__ 的參數,你可以這樣做:
✅ 正確範例
假設有一個父類別:
class Animal: def __init__(self, name): self.name = name
現在你要建立一個子類別 Dog,它除了 name 還要有 breed:
class Dog(Animal): def __init__(self, name, breed): super().__init__(name) # 呼叫父類別的 __init__ self.breed = breed # 子類別新增參數
使用方式:
dog = Dog("Buddy", "Golden Retriever") print(dog.name) # Buddy print(dog.breed) # Golden Retriever
✅ 通用寫法(適用於多層繼承)
如果你不確定所有參數,可以用 *args / **kwargs 傳遞:
class Dog(Animal): def __init__(self, breed, *args, **kwargs): super().__init__(*args, **kwargs) self.breed = breed
這樣即使父類別將來有變動,也比較容易維護。
留言板
歡迎留下建議與分享!希望一起交流!感恩!