欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python繼承和子類從Person到Student演示實例

 更新時間:2023年10月27日 08:50:50   作者:小萬哥  
這篇文章主要為大家介紹了Python繼承和子類從Person到Student演示實例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

引言

繼承允許我們定義一個類,該類繼承另一個類的所有方法和屬性。父類是被繼承的類,也叫做基類。子類是從另一個類繼承的類,也叫做派生類。

創(chuàng)建一個父類

任何類都可以成為父類,因此語法與創(chuàng)建任何其他類相同:

示例,創(chuàng)建一個名為 Person 的類,具有 firstname 和 lastname 屬性以及一個 printname 方法:

class Person:
  def __init__(self, fname, lname):
    self.firstname = fname
    self.lastname = lname

  def printname(self):
    print(self.firstname, self.lastname)

使用 Person 類創(chuàng)建一個對象,然后執(zhí)行 printname 方法:

x = Person("John", "Doe")
x.printname()

創(chuàng)建一個子類

要創(chuàng)建一個從另一個類繼承功能的類,創(chuàng)建子類時將父類作為參數(shù)傳遞:

示例,創(chuàng)建一個名為 Student 的類,它將繼承 Person 類的屬性和方法:

class Student(Person):
  pass

注意: 當(dāng)您不希望向類添加任何其他屬性或方法時,請使用 pass 關(guān)鍵字。

現(xiàn)在,Student 類具有與 Person 類相同的屬性和方法。

示例,使用 Student 類創(chuàng)建一個對象,然后執(zhí)行 printname 方法:

x = Student("Mike", "Olsen")
x.printname()

添加 init() 函數(shù)

到目前為止,我們已經(jīng)創(chuàng)建了一個從父類繼承屬性和方法的子類。我們希望在子類中添加 init() 函數(shù)(而不是使用 pass 關(guān)鍵字)。

注意: 每次使用類創(chuàng)建新對象時,都會自動調(diào)用 init() 函數(shù)。

示例,向 Student 類添加 init() 函數(shù):

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

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

注意: 子類的 init() 函數(shù)會覆蓋父類的 init() 函數(shù)的繼承。

要保留父類的 init() 函數(shù)的繼承,將調(diào)用父類的 init() 函數(shù):

示例:

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

現(xiàn)在,我們已成功添加了 init() 函數(shù),并保留了父類的繼承,并準(zhǔn)備在 init() 函數(shù)中添加功能。

使用 super() 函數(shù)

Python 還具有 super() 函數(shù),可以使子類繼承其父類的所有方法和屬性:

示例:

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

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

添加屬性

示例,向 Student 類添加一個名為 graduationyear 的屬性:

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

在下面的示例中,2019 年應(yīng)該是一個變量,并且在創(chuàng)建學(xué)生對象時傳遞給 Student 類。要實現(xiàn)這一點,請在 init() 函數(shù)中添加另一個參數(shù):

示例,添加一個 year 參數(shù),并在創(chuàng)建對象時傳遞正確的年份:

class Student(Person):
  def __init__(self, fname, lname, year):
    super().__init__(fname, lname)
    self.graduationyear = year
x = Student("Mike", "Olsen", 2019)

添加方法

示例,向 Student 類添加一個名為 welcome 的方法:

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)

最后

為了方便其他設(shè)備和平臺的小伙伴觀看往期文章:公眾號搜索Let us Coding,或者掃描下方二維碼,關(guān)注公眾號,即可獲取最新文章。

以上就是Python 繼承和子類從 Person 到 Student演示實例的詳細內(nèi)容,更多關(guān)于Python繼承子類的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論