您好,登錄后才能下訂單哦!
Python中super()函數如何使用,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
代碼實驗展示:
# 繼承關系 object -> Person -> Student -> SchoolBoy# python2的語法:# class Person(object):# python3的語法:# class Person():class Person(): # class Person(object): '''定義基類Person''' def __init__(self, name, age):'''初始化屬性name和age'''self.name = name self.age = age def printInfo(self):print( '---我是一個實例對象, 屬于類型:{0:^35} ---我的名字是: {1:{3}<8} ---我的年齡是: {2:<5}'.format(str(self.__class__), str(self.name), str(self.age), chr(12288) ))class Student(Person): '''定義基類Person的子類Student''' def __init__(self, name, age):'''初始化父類的屬性name和age'''super().__init__(name, age)# python2的語法:# super(Student, self).__init__(name, age)# python3的語法:# super().__init__(name, age) def printInfo(self):print( '---我是一個實例對象, 屬于類型:{0:^35} ---我的名字是: {1:{3}<8} ---我的年齡是: {2:<5}'.format(str(self.__class__), str(self.name), str(self.age), chr(12288) ))class SchoolBoy(Student): '''定義基類Student的子類SchoolBoy''' def __init__(self, name, age):'''初始化父類的屬性name和age'''super().__init__(name, age)# python2的語法:# super(SchoolBoy, self).__init__(name, age)# python3的語法:# super().__init__(name, age) def printInfo(self):print( '---我是一個實例對象, 屬于類型:{0:^35} ---我的名字是: {1:{3}<8} ---我的年齡是: {2:<5}'.format(str(self.__class__), str(self.name), str(self.age), chr(12288) ))if __name__ == "__main__":per = Person('林麻子',15)per.printInfo()stu = Student('昊昊',16)stu.printInfo()boy = SchoolBoy('鐵凡',17)boy.printInfo()
控制臺輸出結果:
Windows PowerShell 版權所有 (C) Microsoft Corporation。保留所有權利。 嘗試新的跨平臺 PowerShell https://aka.ms/pscore6 加載個人及系統配置文件用了 893 毫秒。 (base) PS C:\Users\chenxuqi\Desktop\News4cxq\test4cxq> conda activate ssd (ssd) PS C:\Users\chenxuqi\Desktop\News4cxq\test4cxq> & 'D:\Anaconda3\envs\ssd\python.exe' 'c:\Users\chenxuqi\.vscode\extensions\ms-python.python-2020.12.424452561\pythonFiles\lib\python\debugpy\launcher' '56869' '--' 'c:\Users\chenxuqi\Desktop\News4cxq\test4cxq\test17.py' ---我是一個實例對象, 屬于類型: <class '__main__.Person'> ---我的名字是: 林麻子 ---我的年齡是: 15 ---我是一個實例對象, 屬于類型: <class '__main__.Student'> ---我的名字是: 昊昊 ---我的年齡是: 16 ---我是一個實例對象, 屬于類型: <class '__main__.SchoolBoy'> ---我的名字是: 鐵凡 ---我的年齡是: 17 (ssd) PS C:\Users\chenxuqi\Desktop\News4cxq\test4cxq>
看完上述內容,你們掌握Python中super()函數如何使用的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。