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

Python面向對象中類(class)的簡單理解與用法分析

 更新時間:2020年02月21日 12:12:39   作者:授我以驢  
這篇文章主要介紹了Python面向對象中類(class)的簡單理解與用法,結合實例形式分析了Python面向對象程序設計中類(class)的基本概念、原理、定義與使用方法,需要的朋友可以參考下

本文實例講述了Python面向對象中類(class)的簡單理解與用法。分享給大家供大家參考,具體如下:

我們先來創(chuàng)建一個簡單的類

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

一個基礎類(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)

運行結果:

魚的重量:100

關于self:

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

我們在這個類里面定義了一個函數weight(),函數有兩個參數self和weight,self我們只需要在創(chuàng)建函數時定義即可,傳值調用時不用管。

當我們想給這個Fish類預設一些屬性,初始化創(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)得到結果為:

魚都生活在水里。

上面的代碼定義了一個__init__方法,在caoyu這個對象建立的時候自動運行這個方法,打印輸出了“魚都生活在水里?!?/p>

創(chuàng)建了Fish() 魚 類,突然覺得這個類包括的魚太多了,那我們再來一個細分,即從Fish() 這個父類的基礎之上,創(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()

輸出結果:

魚都生活在水里。

從上面的代碼可以看到,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()

輸出結果為:

魚類都有鰓。但不會得腮腺炎。

我們也可以在子類中調用父類的函數

xiaoli.weight(100)

輸出結果為:

魚類都有鰓。但不會得腮腺炎。
魚的重量:100

總結:

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

而我們創(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函數,接收self和J作為參數,用于說明魚的重量
  • xiaoming = Fish(): 將xiaoming設置為類Fish()的一個實例
  • xiaoming.weight(J): 從xiaoming對象中找到函數weight,并用self和J參數調用它,self由Python自動填入,所以調用時只傳入參數J

以上只是個人粗淺的理解,面向對象是個很深的東西,還需多多練習,慢慢消化理解!

更多關于Python相關內容感興趣的讀者可查看本站專題:《Python面向對象程序設計入門與進階教程》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python編碼操作技巧總結》及《Python入門與進階經典教程

希望本文所述對大家Python程序設計有所幫助。

相關文章

  • 完美解決python3.7 pip升級 拒絕訪問問題

    完美解決python3.7 pip升級 拒絕訪問問題

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

    python批量連接服務器檢查容器是否正常

    在生產中,我們可能有很多項目或者很多環(huán)境,可能會部署在幾百上千的服務器里面,我們該怎么定時去監(jiān)控這些服務器里面的容器服務器是否正常呢,本文就來為大家講解
    2024-01-01
  • Python實現獲取當前目錄下文件名代碼詳解

    Python實現獲取當前目錄下文件名代碼詳解

    這篇文章主要介紹了Python實現獲取當前目錄下文件名,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • python學習之列表的運用

    python學習之列表的運用

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

    Python實現加載及解析properties配置文件的方法

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

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

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

    Python實現隨機森林回歸與各自變量重要性分析與排序

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

    python 運算符 供重載參考

    二元運算符及其對應的特殊方法
    2009-06-06
  • python中正則表達式 re.findall 用法

    python中正則表達式 re.findall 用法

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

    Python HTTP下載文件并顯示下載進度條功能的實現

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

最新評論