python函數的繼承_Python 繼承

版權所有,未經許可,禁止轉載

Python 繼承

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

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

子類是繼承父類的類,也稱為派生類。

創建父類

任何類都可以是父類,創建父類的語法和創建普通類是一樣的:

示例

創建一個名為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類創建對象,然后執行printname方法:

x = Person("Kevin", "Wu")

x.printname()

創建子類

要創建子類,需將父類作為參數傳入:

示例

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

class Student(Person):

pass

注意: 當您不想給類添加任何屬性或方法時,使用pass關鍵字。

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

示例

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

x = Student("Kevin", "Tony")

x.printname()

添加__init__()函數

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

現在將__init__()函數添加到子類(不再使用pass關鍵字)。

注意: 每當創建新對象時,都會自動調用類的__init__()函數。

示例

將__init__()函數添加到Student類:

class Student(Person):

def __init__(self, fname, lname):

# 添加屬性

當您添加了__init__()函數后,子類將不再繼承父類的__init__()函數。

注意: 子函數的__init__()重寫父函數的__init__()。

要保留父類的__init__()函數的功能,可在子類的__init__()函數中調用父類的__init__()函數:

示例

class Student(Person):

def __init__(self, fname, lname):

Person.__init__(self, fname, lname)

現在,我們已經給子類添加了__init__()函數,并調用了父類的__init__()函數,下面我們將在__init__()函數中添加其他功能。

添加屬性

示例

在Student類中添加一個關于畢業年份的屬性:

class Student(Person):

def __init__(self, fname, lname):

Person.__init__(self, fname, lname)

self.graduationyear = 2019

2019年應該是一個變量,并在創建學生對象時傳遞給Student類。為此,在__init__()函數中添加另一個year參數:

示例

添加一個year參數,創建對象時傳入畢業年份:

class Student(Person):

def __init__(self, fname, lname, year):

Person.__init__(self, fname, lname)

self.graduationyear = year

x = Student("Kevin", "Tony", 2019)

加入方法

示例

在Student類中添加一個名為welcome的方法:

class Student(Person):

def __init__(self, fname, lname, year):

Person.__init__(self, fname, lname)

self.graduationyear = year

def welcome(self):

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

如果在子類中添加父類中的同名方法,則父類的方法將被重寫。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/537237.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/537237.shtml
英文地址,請注明出處:http://en.pswp.cn/news/537237.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MySQL 使用Node.js異步查詢結果為undefined的簡單處理辦法

//定義查詢過程,化異步為同步 function name(SQL_TXT, Respond) {ExecuteSQL(1, SQL_TXT);var i 0;var SetName setInterval(function () {if (i > 19) {clearInterval(SetName);}console.log("Tqr :第" i "次 obtain , Value : \n" Tqr " \…

python中的裝飾器怎么運行_Python 裝飾器入門(上)

翻譯前想說的話:這是一篇介紹python裝飾器的文章,對比之前看到的類似介紹裝飾器的文章,個人認為無人可出其右,文章由淺到深,由函數介紹到裝飾器的高級應用,每個介紹必有例子說明。文章太長,看完原文后我計劃…

我的2018

寫在開始 2018年以飛快的速度臨近尾聲了,只感慨時間過得真快! 這一年過得算是平平淡淡,沒有比較特別的地方。 工作 從去年8月來到這公司,是個做旅游產品的互聯網公司,平時里做的事可以說是很簡單,我只能說&…

IntelliJ IDEA快捷鍵總結

搜索類快捷鍵 快捷鍵描述Ctrl F文件內查找字符串Ctrl Shift F按照文本的內容查找雙擊Shift查找任何內容,可搜索類、資源、配置項、方法等,還能搜索路徑Ctrl Shift R全局資源查找和替換Ctrl N按類名搜索類,比如 Java,Groovy…

python小波分析法檢測火焰_一種基于小波分析的網絡流量異常檢測方法

一種基于小波分析的網絡流量異常檢測方法杜臻;馬立鵬;孫國梓【期刊名稱】《計算機科學》【年(卷),期】2019(046)008【摘要】對大量網絡流量數據進行高質量特征提取與異常識別是做好網絡取證的重要基礎.文中重點研究并實現了網絡取證中的數據處理并建立了模型庫.對一種基于小波分…

初學Linux第三周

簡單shell腳本:#!/bin/bash 第一行必須包括shell聲明序列:#!##********************************************************************#Author: *****#QQ: *****#Date: 2018-12-31#FileName: hello.sh#URL: http#Descriptio…

python使用ddt找不到方法_python使用ddt過程中遇到的問題及解決方案【推薦】

前言:在使用DDT數據驅動HTMLTestRunner輸出測試報告時遇到過2個問題:1、生成的測試報告中,用例名稱后有dict() -> new empty dictionary2、使用ddt生成的用例名稱無法更改1、用例名稱后有dict() -> new empty dictionary報告中用例名稱…

合同的不含稅與稅額怎么算

假設稅率是6% 不含稅金額=總金額/1.06 稅額=不含稅金額0.06 增值稅在線計算器:http://www.ab126.com/goju/7332.html 大小寫轉換:https://link.fobshanghai.com/rmb.htm?t1525225925284 工作日計算:http://www.fy…

Promise進階——如何實現一個Promise庫

概述 從上次更新Promise/A規范后,已經很久沒有更新博客了。之前由于業務需要,完成了一個TypeScript語言的Promise庫。這次我們來和大家一步一步介紹下,我們如何實現一個符合Promise/A規范的Promise庫。 如果對Promise/A規范還不太了解的同學&…

python中isinstance(3、object)_python中isinstance函數判斷各種類型的小細節

1. 基本語法isinstance(object, classinfo)Return true if the object argument is an instance of the classinfo argument, or of a (direct, indirect or virtual)subclass thereof. Also return true if classinfo is a type object (new-style class) and object is an ob…

[前端漫談] 做一個四則計算器

0x000 概述 近期重新開始學習計算機基礎方面的東西,比如計算機組成原理、網絡原理、編譯原理之類的東西,目前正好在學習編譯原理,開始對這一塊的東西感興趣,但是理論的學習有點枯燥無味,決定換種方式,那就是…

程序員筆試面試后上機_hcie面試有哪些要注意的事項?

大家都知道,華為認證hcie考試分為三個部分,分別是筆試、lab實驗和面試。其中,考生討論得最多的就是面試部分,因為面試不同于筆試和lab實驗,自己埋頭答題和操作就行,面試要面對考官,考核的東西非…

【Infragistics教程】在javascript構造函數中創建基本繼承

2019獨角獸企業重金招聘Python工程師標準>>> 【下載Infragistics Ultimate最新版本】 用javascript創建對象有四種方法。具體如下: 對象作為文本構造函數調用模式創建()方法在ES6之后使用類繼承的實現因對象創建方法而異。本文將解…

python爬蟲ssl錯誤_Python爬蟲:Requests的SSLError:certificate verify failed問題解決方案6條...

問題:腳本是用Python寫的,用到開源庫play-scraper,調用其collectionAPI來獲取Google Play的Top App列表。該庫使用了requests作為客戶端來對Google Play進行操作。當腳本執行時,會報如下錯誤:certificate verify faile…

2019年1月3日

數組 字面量創建數組 1. var arr[]; []里邊可以放數字,字符串,true,false,null,undefined,數組([1,2,3]),對象{x:1,y:2} var arr[1,2…

vertex 3.0 與SpringBoot混合開發之初探

SpringBoot是最近幾年比較流行的web應用開發框架,它是微服務的一個開發框架。它的Web服務器內核為Tomcat或Jetty,它們作為Servlet容量來對客戶端的http/https請求進行解析。最近,spring.io又出推出一套新的服務器內核框架,它就是W…

switch芯片和phy芯片的區別_感應式芯片卡CPU卡的FM1208-9和FM1208-10有什么區別,你知道嗎?...

感應式CPU卡是目前芯片卡中安全系統較高的芯片,使用范圍也較為廣泛,但是這款CPU分為FM1208-9和FM1208-10,那你們知道分別代表什么意思呢?他們之間有什么不同呢?CPU白卡FM是什么?首先,我們來說下…

每次登陸都要滑動驗證_湖人隊冠軍成員卡魯索很吃香:每次談判都有N支球隊點名要他...

10月24日NBA直播臺訊:洛杉磯湖人隊助理教練邁克-彭伯西在接受媒體采訪時透露,湖人隊替補控球后衛卡魯索目前在聯盟中很吃香。湖人隊每次進行交易談判時,對方球隊都點名想要卡魯索。彭伯西表示:“每一次我們在休賽期或者交易截止日…

[HAOI2015]按位或

樸素的 f[S]表示S到(1<<n)的期望次數 發現1的個數只增加不減少 所以可以類似拓撲序的圖&#xff0c;然后枚舉子集O(3^n)轉移 沒有優化的余地 另辟蹊徑&#xff1a; 拆開每一位來看 t[i]表示第i位變成1的次數 ansE(max(t[i])) 根據min-max容斥 得到&#xff1a;ans∑E(t[i…

MySQL在DOS指令里面的使用以及增刪改查的使用

本人的第一條博客&#xff0c;選中我的電腦單機右鍵&#xff0c;點開管理&#xff0c;選中服務找到MySQL57.啟動該服務。回退至桌面&#xff0c;按住winR 輸入cmd打開DOS指令的窗口。 在窗口輸入: mysql -h localhost -u root -p 顯示password輸入提示&#xff1a;表示已經…