本篇將會是本專欄關于python基本語法的最后一個知識點,后期將會談python,就會介紹使用python專題,例如:做爬蟲、有架構的網站。
文章目錄
- 1. 為什么需要繼承
- 2. 繼承的基本概念
- 3. python中繼承的基礎語法
- 4. 總結
1. 為什么需要繼承
如果沒有繼承,按照之前的代碼定義"狗"的具體類型,如哈士奇,吉娃娃如下:
class Dog:def __init__(self,arg_name,arg_age):self.name = arg_nameself.age = arg_agedef introduce(self):print("我是",self.name,"年齡",self.age)def __repr__(self):return self.name + ":" + str(self.age)class 哈士奇: #可以以漢字進行定義def __init__(self,arg_name,arg_age,arg_iq):self.name = arg_nameself.age = arg_age self.age = arg_iqclass 吉娃娃:def __init__(self,arg_name,arg_age,arg_beauty):self.name = arg_nameself.age = arg_age self.beauty = arg_beautyif __name__ == "__main__":dog1 = Dog("旺財",5)dog2 = Dog("小強",6)dog1.introduce()dog2.introduce()
可以看到定義的部分會與’dog’重復
繼承是為了解決重復代碼。
2. 繼承的基本概念
- 基類:“狗”就是基類,它具有通用的屬性
- 派生類:“狗”派生出來的“哈士奇”、“吉娃娃”,它們是在基類基礎上,添加功能得到
3. python中繼承的基礎語法
python通過以下語法,實現繼承
class 派生類(基類)
結合__init__
,super()
我們可以很方便地讓派生類擁有基類的熟悉。
super()
方法,會返回基類對象。
對上面的代碼,按照繼承的思想重構如下:
class Dog:def __init__(self,arg_name,arg_age):self.name = arg_nameself.age = arg_agedef introduce(self):print("我是",self.name,"年齡",self.age)def __repr__(self):return self.name + ":" + str(self.age)class 哈士奇(Dog):def __init__(self,arg_name,arg_age,arg_iq):super().__init__(arg_name,arg_age)self.iq = arg_iqclass 吉娃娃(Dog):def __init__(self,arg_name,arg_age,arg_beauty):super().__init__(arg_name,arg_age)self.beauty = arg_beautyif __name__ == "__main__":dog1 = 哈士奇("旺財",5,50)dog2 = 吉娃娃("小強",6,88)print(dog1.name,dog1.age,dog1.iq)print(dog2.name,dog2.age,dog2.beauty)
運行結果:
旺財 5 50
小強 6 88
4. 總結
- 如果只是簡單的使用,可能不會涉及到python中類的概念和方法。
- 但是如果想深入或者做網站框架等,是不可避免會使用到面向對象,倒不是面向對象寫程序,而是別的框架通過類的方式暴露給你使用,繼承基類寫方法,做出網站。語法角度,現在所講已經滿足使用類、繼承并開拓自己程序。
至此本欄目python相關介紹暫時告一段落。
5.學習視頻地址:繼承