91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python繼承是什么及怎么實現

發布時間:2023-04-25 11:46:13 來源:億速云 閱讀:108 作者:zzz 欄目:開發技術

這篇文章主要介紹“Python繼承是什么及怎么實現”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Python繼承是什么及怎么實現”文章能幫助大家解決問題。

Python 繼承

繼承允許我們定義繼承另一個類的所有方法和屬性的類。

父類是繼承的類,也稱為基類。

子類是從另一個類繼承的類,也稱為派生類。

創建父類

任何類都可以是父類,因此語法與創建任何其他類相同:

實例

創建一個名為 Person 的類,其中包含 firstname 和 lastname 屬性以及 printname 方法:

class Person:
  def __init__(self, fname, lname):
    self.firstname = fname
    self.lastname = lname
# Python學習交流裙:279199867
  def printname(self):
    print(self.firstname, self.lastname)

# 使用 Person 來創建對象,然后執行 printname 方法:

x = Person("Bill", "Gates")
x.printname()

運行實例

python_inheritance_parent.py
Bill Gates

創建子類

要創建從其他類繼承功能的類,請在創建子類時將父類作為參數發送:

實例

創建一個名為 Student 的類,它將從 Person 類繼承屬性和方法:

class Student(Person):
  pass

注釋:如果您不想向該類添加任何其他屬性或方法,請使用 pass 關鍵字。

現在,Student 類擁有與 Person 類相同的屬性和方法。

實例

使用 Student 類創建一個對象,然后執行 printname 方法:

x = Student("Elon", "Musk")
x.printname()

運行實例

python_inheritance_child.py
Elon Musk

添加 init() 函數

到目前為止,我們已經創建了一個子類,它繼承了父類的屬性和方法。

我們想要把 init() 函數添加到子類(而不是 pass 關鍵字)。

注釋:每次使用類創建新對象時,都會自動調用 init() 函數。

實例

為 Student 類添加 init() 函數:

class Student(Person):
  def __init__(self, fname, lname):
    # 添加屬性等

當您添加 init() 函數時,子類將不再繼承父的 init() 函數。

注釋:子的 init() 函數會覆蓋對父的 init() 函數的繼承。

如需保持父的 init() 函數的繼承,請添加對父的 init() 函數的調用:

實例

class Student(Person):
  def __init__(self, fname, lname):
    Person.__init__(self, fname, lname)

運行實例

python_inheritance_init.py
Elon Musk

現在,我們已經成功添加了 init() 函數,并保留了父類的繼承,我們準備好在 init() 函數中添加功能了。

使用 super() 函數

Python 還有一個 super() 函數,它會使子類從其父繼承所有方法和屬性:

實例

class Student(Person):
  def __init__(self, fname, lname):
    super().__init__(fname, lname)

運行實例

python_inheritance_super.py
Elon Musk

通過使用 super() 函數,您不必使用父元素的名稱,它將自動從其父元素繼承方法和屬性。

添加屬性

實例

把名為 graduationyear 的屬性添加到 Student 類:

class Student(Person):
  def __init__(self, fname, lname):
    super().__init__(fname, lname)
    self.graduationyear = 2019

運行實例

python_inheritance_add_prop_1.py
2019

在這例子中,2019 年應該是一個變量,并在創建 student 對象時傳遞到 Student 類。為此,請在 init() 函數中添加另一個參數:

實例

添加 year 參數,并在創建對象時傳遞正確的年份:

class Student(Person):
  def __init__(self, fname, lname, year):
    super().__init__(fname, lname)
    self.graduationyear = year

x = Student("Elon", "Musk", 2019)

運行實例

python_inheritance_add_prop_2.py
2019

添加方法

實例

把名為 welcome 的方法添加到 Student 類:

class Student(Person):
  def __init__(self, fname, lname, year):
    super().__init__(fname, lname)
    self.graduationyear = year

  def welcome(self):
    print("Welcome", self.firstname, self.lastname, "to the class of", self.graduationyear)

運行實例

python_inheritance_add_method.py
Welcome Elon Musk to the class of 2019

提示:如果您在子類中添加一個與父類中的函數同名的方法,則將覆蓋父方法的繼承。

關于“Python繼承是什么及怎么實現”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

虞城县| 镇康县| 永寿县| 乃东县| 滨海县| 巴塘县| 武川县| 吴川市| 唐海县| 府谷县| 陈巴尔虎旗| 攀枝花市| 龙南县| 南华县| 新竹市| 宁德市| 台江县| 龙里县| 禄丰县| 桂林市| 马鞍山市| 淮阳县| 嘉黎县| 石阡县| 合江县| 渝北区| 莱西市| 奉化市| 和平区| 宁武县| 弥渡县| 平原县| 南郑县| 海南省| 三台县| 榆社县| 九龙坡区| 黔南| 新丰县| 景泰县| 尤溪县|