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

 

這樣即使父類別將來有變動,也比較容易維護。