這篇文章主要介紹Python面向?qū)ο笾蓄愒趺从茫闹薪榻B的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!
創(chuàng)新互聯(lián)建站堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站制作、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的藁城網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!我們先來創(chuàng)建一個簡單的類
class Fish(object): pass xiaoming = Fish()
一個基礎(chǔ)類(base class) Fish(魚)類就創(chuàng)建好了。class Fish(object)等同于class Fish()
caoyu = Fish() 語句創(chuàng)建了一個對象:xiaoming(小明)。變量名 = 類名+() 實例化 類
下面對Fish類進行擴充
class Fish(): def weight(self,weight): print("魚的重量:{}".format(weight)) xiaoming = Fish() xiaoming.weight(100)
運行結(jié)果:
魚的重量:100
關(guān)于self:
self代表類(class)的實例(instance)
self可以用其他詞匯代替,name,you等,這只不過是約定俗成的
self必須定義,但不需要手動傳值
我們在這個類里面定義了一個函數(shù)weight(),函數(shù)有兩個參數(shù)self和weight,self我們只需要在創(chuàng)建函數(shù)時定義即可,傳值調(diào)用時不用管。
當(dāng)我們想給這個Fish類預(yù)設(shè)一些屬性,初始化創(chuàng)建的實例化對象時,就可以定義一個__init__方法,在創(chuàng)建對象時自動進行初始化,
__init__前面是兩個下劃線
class Fish(): def __init__(self): print("魚都生活在水里。") def weight(self,weight): print("魚的重量:{}".format(weight)) xiaoming = Fish() #xiaoming.weight(100)
注釋掉caoyu.weight(100)得到結(jié)果為:
魚都生活在水里。
上面的代碼定義了一個__init__方法,在caoyu這個對象建立的時候自動運行這個方法,打印輸出了“魚都生活在水里?!?/p>
創(chuàng)建了Fish() 魚 類,突然覺得這個類包括的魚太多了,那我們再來一個細(xì)分,即從Fish() 這個父類的基礎(chǔ)之上,創(chuàng)建一個子類。子類繼承了父類的一些屬性,比如魚都生活在水里,但又具有自己獨有的特征,即屬性。我們通過 class caoyu(Fish)定義了Fish父類下的caoyu(草魚)子類。
class x(y)創(chuàng)建一個x類是y類的子類,就是創(chuàng)建子類的一般方法
class Fish(): def __init__(self): print("魚都生活在水里。") def weight(self,weight): print("魚的重量:{}".format(weight)) class caoyu(Fish): pass xiaoli = caoyu()
輸出結(jié)果:
魚都生活在水里。
從上面的代碼可以看到,class caoyu(Fish)這個類是Fish的子類,子類會繼承父類的屬性。我們實例化caoyu類后,就輸出了“魚生活在水里”,繼承自父類Fish()的__init__方法。我們也可以重新定義子類的__init__方法,父類的__init__方法就會失效,就像下面這樣:
class Fish(): def __init__(self): print("魚都生活在水里。") def weight(self,weight): print("魚的重量:{}".format(weight)) class caoyu(Fish): def __init__(self): print("魚類都有鰓。但不會得腮腺炎。") xiaoli = caoyu()
輸出結(jié)果為:
魚類都有鰓。但不會得腮腺炎。
我們也可以在子類中調(diào)用父類的函數(shù)
xiaoli.weight(100)
輸出結(jié)果為:
魚類都有鰓。但不會得腮腺炎。
魚的重量:100
總結(jié):
我們首先創(chuàng)建了一個基礎(chǔ)類Fish(魚)類(class),然后我們需要進行實例化(instance)出一個對象(object),我們實例化對象的名字叫做xiaoming(小明),就像我在菜市場買了一條魚,我必須通過買這個動作(實例化),買了之后才擁有了一條魚,一條屬于我的“魚”:xiaoming。然后我能用xiaoming這條魚來煲湯(函數(shù)),做菜或者看他在水里游,這些動作就像調(diào)用類里面的函數(shù)一樣,只有買來了魚才能做這些動作,為了做這些動作還需要加入蔥姜蒜這些佐料(參數(shù))。
而我們創(chuàng)建了子類caoyu(草魚),草魚也是魚的一種,所以它也有父類Fish()的一些基本的屬性,有鰓,可以在水里自由呼吸,同時也可以拿來煲湯,(這就繼承了魚的普遍屬性)但它也有自己的特點,它可能做水煮魚片比做酸菜魚好吃,這是與其他魚區(qū)別的地方。
class Fish(): 創(chuàng)建一個基本類 Fish
class caoyu(Fish): 創(chuàng)建一個類caoyu,它是類Fish()的子類
class Fish(): def init(self): 定義一個方法__init__,作用是對類class 進行初始化,比如給魚基本屬性:能在水中呼吸。
class Fish(): def weight(self, J):Fish()類下定義一個weight函數(shù),接收self和J作為參數(shù),用于說明魚的重量
xiaoming = Fish(): 將xiaoming設(shè)置為類Fish()的一個實例
xiaoming.weight(J): 從xiaoming對象中找到函數(shù)weight,并用self和J參數(shù)調(diào)用它,self由Python自動填入,所以調(diào)用時只傳入?yún)?shù)J
以上是“Python面向?qū)ο笾蓄愒趺从谩边@篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
新聞標(biāo)題:Python面向?qū)ο笾蓄愒趺从?創(chuàng)新互聯(lián)
本文URL:http://jinyejixie.com/article12/cshedc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、服務(wù)器托管、App開發(fā)、Google、搜索引擎優(yōu)化、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容