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

Python面向?qū)ο笾蓄?lèi)(class)的簡(jiǎn)單理解與用法分析

 更新時(shí)間:2020年02月21日 12:12:39   作者:授我以驢  
這篇文章主要介紹了Python面向?qū)ο笾蓄?lèi)(class)的簡(jiǎn)單理解與用法,結(jié)合實(shí)例形式分析了Python面向?qū)ο蟪绦蛟O(shè)計(jì)中類(lèi)(class)的基本概念、原理、定義與使用方法,需要的朋友可以參考下

本文實(shí)例講述了Python面向?qū)ο笾蓄?lèi)(class)的簡(jiǎn)單理解與用法。分享給大家供大家參考,具體如下:

我們先來(lái)創(chuàng)建一個(gè)簡(jiǎn)單的類(lèi)

class Fish(object):
   pass
xiaoming = Fish()

一個(gè)基礎(chǔ)類(lèi)(base class) Fish(魚(yú))類(lèi)就創(chuàng)建好了。class Fish(object)等同于class Fish()

caoyu = Fish() 語(yǔ)句創(chuàng)建了一個(gè)對(duì)象:xiaoming(小明)。變量名 = 類(lèi)名+() 實(shí)例化 類(lèi)

下面對(duì)Fish類(lèi)進(jìn)行擴(kuò)充

class Fish():
  def weight(self,weight):
    print("魚(yú)的重量:{}".format(weight))
xiaoming = Fish()
xiaoming.weight(100)

運(yùn)行結(jié)果:

魚(yú)的重量:100

關(guān)于self:

  • self代表類(lèi)(class)的實(shí)例(instance)
  • self可以用其他詞匯代替,name,you等,這只不過(guò)是約定俗成的
  • self必須定義,但不需要手動(dòng)傳值

我們?cè)谶@個(gè)類(lèi)里面定義了一個(gè)函數(shù)weight(),函數(shù)有兩個(gè)參數(shù)self和weight,self我們只需要在創(chuàng)建函數(shù)時(shí)定義即可,傳值調(diào)用時(shí)不用管。

當(dāng)我們想給這個(gè)Fish類(lèi)預(yù)設(shè)一些屬性,初始化創(chuàng)建的實(shí)例化對(duì)象時(shí),就可以定義一個(gè)__init__方法,在創(chuàng)建對(duì)象時(shí)自動(dòng)進(jìn)行初始化,

__init__前面是兩個(gè)下劃線

class Fish():
  def __init__(self):
    print("魚(yú)都生活在水里。")
  def weight(self,weight):
    print("魚(yú)的重量:{}".format(weight))
xiaoming = Fish()
#xiaoming.weight(100)

注釋掉caoyu.weight(100)得到結(jié)果為:

魚(yú)都生活在水里。

上面的代碼定義了一個(gè)__init__方法,在caoyu這個(gè)對(duì)象建立的時(shí)候自動(dòng)運(yùn)行這個(gè)方法,打印輸出了“魚(yú)都生活在水里?!?/p>

創(chuàng)建了Fish() 魚(yú) 類(lèi),突然覺(jué)得這個(gè)類(lèi)包括的魚(yú)太多了,那我們?cè)賮?lái)一個(gè)細(xì)分,即從Fish() 這個(gè)父類(lèi)的基礎(chǔ)之上,創(chuàng)建一個(gè)子類(lèi)。子類(lèi)繼承了父類(lèi)的一些屬性,比如魚(yú)都生活在水里,但又具有自己獨(dú)有的特征,即屬性。我們通過(guò) class caoyu(Fish)定義了Fish父類(lèi)下的caoyu(草魚(yú))子類(lèi)。

class x(y)創(chuàng)建一個(gè)x類(lèi)是y類(lèi)的子類(lèi),就是創(chuàng)建子類(lèi)的一般方法

class Fish():
  def __init__(self):
    print("魚(yú)都生活在水里。")
  def weight(self,weight):
    print("魚(yú)的重量:{}".format(weight))
class caoyu(Fish):
   pass
xiaoli = caoyu()

輸出結(jié)果:

魚(yú)都生活在水里。

從上面的代碼可以看到,class caoyu(Fish)這個(gè)類(lèi)是Fish的子類(lèi),子類(lèi)會(huì)繼承父類(lèi)的屬性。我們實(shí)例化caoyu類(lèi)后,就輸出了“魚(yú)生活在水里”,繼承自父類(lèi)Fish()的__init__方法。我們也可以重新定義子類(lèi)的__init__方法,父類(lèi)的__init__方法就會(huì)失效,就像下面這樣:

class Fish():
  def __init__(self):
    print("魚(yú)都生活在水里。")
  def weight(self,weight):
    print("魚(yú)的重量:{}".format(weight))
class caoyu(Fish):
   def __init__(self):
    print("魚(yú)類(lèi)都有鰓。但不會(huì)得腮腺炎。")
xiaoli = caoyu()

輸出結(jié)果為:

魚(yú)類(lèi)都有鰓。但不會(huì)得腮腺炎。

我們也可以在子類(lèi)中調(diào)用父類(lèi)的函數(shù)

xiaoli.weight(100)

輸出結(jié)果為:

魚(yú)類(lèi)都有鰓。但不會(huì)得腮腺炎。
魚(yú)的重量:100

總結(jié):

我們首先創(chuàng)建了一個(gè)基礎(chǔ)類(lèi)Fish(魚(yú))類(lèi)(class),然后我們需要進(jìn)行實(shí)例化(instance)出一個(gè)對(duì)象(object),我們實(shí)例化對(duì)象的名字叫做xiaoming(小明),就像我在菜市場(chǎng)買(mǎi)了一條魚(yú),我必須通過(guò)買(mǎi)這個(gè)動(dòng)作(實(shí)例化),買(mǎi)了之后才擁有了一條魚(yú),一條屬于我的“魚(yú)”:xiaoming。然后我能用xiaoming這條魚(yú)來(lái)煲湯(函數(shù)),做菜或者看他在水里游,這些動(dòng)作就像調(diào)用類(lèi)里面的函數(shù)一樣,只有買(mǎi)來(lái)了魚(yú)才能做這些動(dòng)作,為了做這些動(dòng)作還需要加入蔥姜蒜這些佐料(參數(shù))。

而我們創(chuàng)建了子類(lèi)caoyu(草魚(yú)),草魚(yú)也是魚(yú)的一種,所以它也有父類(lèi)Fish()的一些基本的屬性,有鰓,可以在水里自由呼吸,同時(shí)也可以拿來(lái)煲湯,(這就繼承了魚(yú)的普遍屬性)但它也有自己的特點(diǎn),它可能做水煮魚(yú)片比做酸菜魚(yú)好吃,這是與其他魚(yú)區(qū)別的地方。

  • class Fish(): 創(chuàng)建一個(gè)基本類(lèi) Fish
  • class caoyu(Fish): 創(chuàng)建一個(gè)類(lèi)caoyu,它是類(lèi)Fish()的子類(lèi)
  • class Fish(): def init(self): 定義一個(gè)方法__init__,作用是對(duì)類(lèi)class 進(jìn)行初始化,比如給魚(yú)基本屬性:能在水中呼吸。
  • class Fish(): def weight(self, J):Fish()類(lèi)下定義一個(gè)weight函數(shù),接收self和J作為參數(shù),用于說(shuō)明魚(yú)的重量
  • xiaoming = Fish(): 將xiaoming設(shè)置為類(lèi)Fish()的一個(gè)實(shí)例
  • xiaoming.weight(J): 從xiaoming對(duì)象中找到函數(shù)weight,并用self和J參數(shù)調(diào)用它,self由Python自動(dòng)填入,所以調(diào)用時(shí)只傳入?yún)?shù)J

以上只是個(gè)人粗淺的理解,面向?qū)ο笫莻€(gè)很深的東西,還需多多練習(xí),慢慢消化理解!

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Python面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)與進(jìn)階教程》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python編碼操作技巧總結(jié)》及《Python入門(mén)與進(jìn)階經(jīng)典教程

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 完美解決python3.7 pip升級(jí) 拒絕訪問(wèn)問(wèn)題

    完美解決python3.7 pip升級(jí) 拒絕訪問(wèn)問(wèn)題

    這篇文章主要介紹了python3.7 pip升級(jí) 拒絕訪問(wèn) 解決方案,文中給大家提到了python中for循環(huán)問(wèn)題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2019-07-07
  • python批量連接服務(wù)器檢查容器是否正常

    python批量連接服務(wù)器檢查容器是否正常

    在生產(chǎn)中,我們可能有很多項(xiàng)目或者很多環(huán)境,可能會(huì)部署在幾百上千的服務(wù)器里面,我們?cè)撛趺炊〞r(shí)去監(jiān)控這些服務(wù)器里面的容器服務(wù)器是否正常呢,本文就來(lái)為大家講解
    2024-01-01
  • Python實(shí)現(xiàn)獲取當(dāng)前目錄下文件名代碼詳解

    Python實(shí)現(xiàn)獲取當(dāng)前目錄下文件名代碼詳解

    這篇文章主要介紹了Python實(shí)現(xiàn)獲取當(dāng)前目錄下文件名,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-03-03
  • python學(xué)習(xí)之列表的運(yùn)用

    python學(xué)習(xí)之列表的運(yùn)用

    這篇文章主要介紹了python學(xué)習(xí)之列表的運(yùn)用,文章首先通過(guò)創(chuàng)建列表展開(kāi)列表運(yùn)用的相關(guān)資料,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-05-05
  • Python實(shí)現(xiàn)加載及解析properties配置文件的方法

    Python實(shí)現(xiàn)加載及解析properties配置文件的方法

    這篇文章主要介紹了Python實(shí)現(xiàn)加載及解析properties配置文件的方法,結(jié)合實(shí)例形式分析了Python針對(duì)properties配置文件的加載、讀取及解析相關(guān)操作技巧,需要的朋友可以參考下
    2018-03-03
  • matlab繪制局部放大圖圖文教程

    matlab繪制局部放大圖圖文教程

    這篇文章主要給大家介紹了關(guān)于matlab繪制局部放大圖的相關(guān)資料,所謂局部放大即呈現(xiàn)子圖,以顯示局部細(xì)節(jié),需要的朋友可以參考下
    2023-07-07
  • Python實(shí)現(xiàn)隨機(jī)森林回歸與各自變量重要性分析與排序

    Python實(shí)現(xiàn)隨機(jī)森林回歸與各自變量重要性分析與排序

    這篇文章主要為大家詳細(xì)介紹了在Python環(huán)境中,實(shí)現(xiàn)隨機(jī)森林(Random Forest,RF)回歸與各自變量重要性分析與排序的過(guò)程,感興趣的小伙伴可以了解一下
    2023-02-02
  • python 運(yùn)算符 供重載參考

    python 運(yùn)算符 供重載參考

    二元運(yùn)算符及其對(duì)應(yīng)的特殊方法
    2009-06-06
  • python中正則表達(dá)式 re.findall 用法

    python中正則表達(dá)式 re.findall 用法

    在python中,通過(guò)內(nèi)嵌集成re模塊,程序媛們可以直接調(diào)用來(lái)實(shí)現(xiàn)正則匹配。本文重點(diǎn)給大家介紹python中正則表達(dá)式 re.findall 用法,感興趣的朋友跟隨小編一起看看吧
    2018-10-10
  • Python HTTP下載文件并顯示下載進(jìn)度條功能的實(shí)現(xiàn)

    Python HTTP下載文件并顯示下載進(jìn)度條功能的實(shí)現(xiàn)

    這篇文章主要介紹了Python HTTP下載文件并顯示下載進(jìn)度條功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04

最新評(píng)論