最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python中類的定義、繼承及使用對象實例詳解

 更新時間:2015年04月30日 12:17:36   作者:露露  
這篇文章主要介紹了Python中類的定義、繼承及使用對象,較為詳細的分析了Python中類的相關(guān)概念與使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了Python中類的定義、繼承及使用對象的方法。分享給大家供大家參考。具體分析如下:

Python編程中類的概念可以比作是某種類型集合的描述,如“人類”可以被看作一個類,然后用人類這個類定義出每個具體的人——你、我、他等作為其對象。類還擁有屬性和功能,屬性即類本身的一些特性,如人類有名字、身高和體重等屬性,而具體值則會根據(jù)每個人的不同;功能則是類所能實現(xiàn)的行為,如人類擁有吃飯、走路和睡覺等功能。具體的形式如下:

例:類的概念:

class 人類:
             名字 = '未命名' # 成員變量
 def 說話(內(nèi)容): # 成員函數(shù)
                print 內(nèi)容 # 成員變量賦初始值
某人 = 人類() # 定義一個人類對象某人
某人.名字 = "路人甲"
某人.說話 ('大家好') # 路人甲說話
>>> 大家好! # 輸出

示例程序一(類的定義):

>>> class pp:
...   pass
...
>>> p = pp()
>>> print p
<__main__.pp instance at 0x00CA77B0>
>>>

打印了這個變量的類型。它告訴我們我們已經(jīng)在__main__模塊中有了一個Person類的實例。

示例程序二(__init__用法):

說明:__init__方法在類的對象被建立時,馬上運行。該方法用來對對象進行初始化。

>>> class Person:
...   def __init__(self, name):
...       self.name = name
...   def sayHi(self):
...       print 'Hello, my name is', self.name
...
>>> p = Person('Swaroop')
>>> p.sayHi()
Hello, my name is Swaroop
>>>

示例程序三(__del__方法):

說明:__del__方法是在程序退出時調(diào)用的。

>>> class Person:
...   population = 0
...   def __init__(self, name):
...       self.name = name
...       print '(Initializing %s)' % self.name
...   def __del__(self):
...       print '%s says bye.' % self.name
...       Person.population -= 1
...
...   def howMany(self):
...       if Person.population == 1:
...           print 'I am the only person here.'
...       else:
...           print 'We have %d persons here.' % Person.population
...
>>> A = Person('aa')
(Initializing aa)
>>> A.howMany()
We have 0 persons here.
>>> B = Person('bb')
(Initializing bb)
>>> B.howMany()
We have 0 persons here.
>>> ^Z
aa says bye.
bb says bye.

Python中定義和使用類的形式為:class 類名[(父類名)]:[成員函數(shù)及成員變量],類名為這個類的名稱,而父類名為可選,但定義父類名后,子類則擁有父類的相應(yīng)屬性和方法。在用類定義成對象時,會先調(diào)用__init__構(gòu)造函數(shù),以初始化對象的各屬性,類的各屬性(成員變量)均可以在構(gòu)造函數(shù)中定義,定義時只要加上對象指針就好了。而在對象銷毀時,則會調(diào)用__del__析構(gòu)函數(shù),定義類的成員函數(shù)時,必須默認一個變量(類似于C++中的this指針)代表類定義的對象本身,這個變量的名稱可自行定義,下面例子將使用self變量表示類對象變量。

例:類定義及使用:

class CAnimal: 
       name = 'unname'
       # 成員變量 
  def __init__(self,voice='hello'):
  # 重載構(gòu)造函數(shù) 
     self.voice = voice
     # 創(chuàng)建成員變量并賦初始值 
  def __del__(self):
  # 重載析構(gòu)函數(shù) 
     pass # 空操作 
  def Say(self): 
      print self.voice 
t = CAnimal() # 定義動物對象t 
t.Say() # t說話 
>> hello # 輸出 
dog = CAnimal('wow') # 定義動物對象dog 
dog.Say() # dog說話 
>> wow # 輸出

Python編程中類可以承繼父類屬性,形式為class 類名(父類),子類可以繼承父類的所有方法和屬性,也可以重載父類的成員函數(shù)及屬性,須注意的是子類成員函數(shù)若重載父類(即名字相同),則會使用子類成員函數(shù)

例:類的繼承

class CAnimal: 
    def __init__(self,voice='hello'):
    # voice初始化默認為hello 
       self.voice = voice 
    def Say(self): 
      print self.voice 
 def Run(self): 
      pass # 空操作語句(不做任何操作) 
class CDog(CAnimal): # 繼承類CAnimal 
  def SetVoice(self,voice): # 子類增加函數(shù)
     SetVoice self.voice = voice 
    def Run(self,voice): # 子類重載函數(shù)Run      
      print 'Running' 
bobo = CDog() 
bobo.SetVoice('My Name is BoBo!')
# 設(shè)置child.data為hello 
bobo.Say() 
bobo.Run() 
>> My Name is BoBo! 
>> Running

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

相關(guān)文章

  • Python正則表達式指南 推薦

    Python正則表達式指南 推薦

    本文介紹了Python對于正則表達式的支持,包括正則表達式基礎(chǔ)以及Python正則表達式標(biāo)準(zhǔn)庫的完整介紹及使用示例。本文的內(nèi)容不包括如何編寫高效的正則表達式、如何優(yōu)化正則表達式,這些主題請查看其他教程。
    2018-10-10
  • python輸出100以內(nèi)的質(zhì)數(shù)與合數(shù)實例代碼

    python輸出100以內(nèi)的質(zhì)數(shù)與合數(shù)實例代碼

    本文通過實例代碼給大家介紹了python輸出100以內(nèi)的質(zhì)數(shù)與合數(shù)的方法,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧
    2018-07-07
  • Python使用bar繪制堆積/帶誤差棒柱形圖的實現(xiàn)

    Python使用bar繪制堆積/帶誤差棒柱形圖的實現(xiàn)

    本文先講解bar參數(shù)如何使用,然后分別演示堆積柱形圖和帶誤差柱形圖畫法。具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Ubuntu下Python2與Python3的共存問題

    Ubuntu下Python2與Python3的共存問題

    Linux系統(tǒng)一般自帶Python,有時候又自己下載了Python,因此有可能Python2和Python3同時存在。那么當(dāng)我們在Terminal鍵入python的時候,會調(diào)出哪個Python呢?本文即解決這個問題
    2018-10-10
  • python?DataFrame中stack()方法、unstack()方法和pivot()方法淺析

    python?DataFrame中stack()方法、unstack()方法和pivot()方法淺析

    這篇文章主要給大家介紹了關(guān)于python?DataFrame中stack()方法、unstack()方法和pivot()方法的相關(guān)資料,pandas中這三種方法都是用來對表格進行重排的,其中stack()是unstack()的逆操作,需要的朋友可以參考下
    2022-04-04
  • Python樹的平衡檢測算法實現(xiàn)

    Python樹的平衡檢測算法實現(xiàn)

    樹的平衡檢測是指判斷一棵樹是否為平衡二叉樹,即每個節(jié)點的左右子樹高度差不超過1,本文主要介紹了Python樹的平衡檢測算法實現(xiàn),感興趣的可以了解一下
    2023-11-11
  • 一文詳細NumPy中np.zeros的使用

    一文詳細NumPy中np.zeros的使用

    np.zeros是NumPy庫中一個非常實用的函數(shù),用于快速創(chuàng)建指定形狀和大小的全零數(shù)組,本文主要介紹了NumPy中np.zeros的使用,感興趣的可以了解一下
    2024-03-03
  • 淺談Python基礎(chǔ)之列表那些事兒

    淺談Python基礎(chǔ)之列表那些事兒

    這篇文章主要介紹了淺談Python基礎(chǔ)之列表那些事兒,文中有非常詳細的代碼示例,對正在學(xué)習(xí)Python基礎(chǔ)的小伙伴們有很好地幫助,需要的朋友可以參考下
    2021-05-05
  • Python機器學(xué)習(xí)應(yīng)用之基于決策樹算法的分類預(yù)測篇

    Python機器學(xué)習(xí)應(yīng)用之基于決策樹算法的分類預(yù)測篇

    所謂決策樹,就是一個類似于流程圖的樹形結(jié)構(gòu),樹內(nèi)部的每一個節(jié)點代表的是對一個特征的測試,樹的分支代表該特征的每一個測試結(jié)果,而樹的每一個葉子節(jié)點代表一個類別。樹的最高層是就是根節(jié)點
    2022-01-01
  • python批量替換文件名中的共同字符實例

    python批量替換文件名中的共同字符實例

    這篇文章主要介紹了python批量替換文件名中的共同字符實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03

最新評論

鄄城县| 平凉市| 上饶市| 澄江县| 中西区| 青铜峡市| 南靖县| 边坝县| 黄石市| 泸溪县| 信丰县| 辽阳市| 北川| 荔波县| 昆明市| 云南省| 大关县| 玉山县| 邯郸市| 岑溪市| 孝昌县| 怀仁县| 武山县| 万山特区| 珠海市| 车致| 五华县| 高唐县| 大悟县| 民丰县| 诸暨市| 城口县| 文安县| 益阳市| 三原县| 大姚县| 东乌珠穆沁旗| 重庆市| 沁水县| 信丰县| 大渡口区|