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

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

 更新時間:2015年04月30日 12:17:36   作者:露露  
這篇文章主要介紹了Python中類的定義、繼承及使用對象,較為詳細(xì)的分析了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__方法在類的對象被建立時,馬上運行。該方法用來對對象進(jìn)行初始化。

>>> 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ù)時,必須默認(rèn)一個變量(類似于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初始化默認(rèn)為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實現(xiàn)簡單淘寶秒殺功能

    python實現(xiàn)簡單淘寶秒殺功能

    這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)簡單淘寶秒殺功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • PyTorch 如何自動計算梯度

    PyTorch 如何自動計算梯度

    這篇文章主要介紹了PyTorch 如何自動計算梯度的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • python如何利用joblib保存訓(xùn)練模型

    python如何利用joblib保存訓(xùn)練模型

    這篇文章主要介紹了python如何利用joblib保存訓(xùn)練模型問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • python的scrapy框架之Pipeline文件的用法詳解

    python的scrapy框架之Pipeline文件的用法詳解

    這篇文章主要介紹了python的scrapy框架之Pipeline文件的用法詳解,Pipeline是一個獨立的模塊,用于處理從Spider中提取的Item對象,實現(xiàn)對數(shù)據(jù)的進(jìn)一步處理、存儲和清洗等操作,下面將詳細(xì)介紹Scrapy框架中Pipeline的用法,需要的朋友可以參考下
    2023-10-10
  • 用Python 爬取貓眼電影數(shù)據(jù)分析《無名之輩》

    用Python 爬取貓眼電影數(shù)據(jù)分析《無名之輩》

    這篇文章主要介紹了用Python 爬取貓眼電影數(shù)據(jù)分析《無名之輩》,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Python破解BiliBili滑塊驗證碼的思路詳解(完美避開人機識別)

    Python破解BiliBili滑塊驗證碼的思路詳解(完美避開人機識別)

    這篇文章主要介紹了Python破解BiliBili滑塊驗證碼的思路,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • python計算日期之間的放假日期

    python計算日期之間的放假日期

    這篇文章主要為大家詳細(xì)介紹了python計算日期之間的放假日期,實現(xiàn)自動查詢節(jié)日,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • python實現(xiàn)淘寶秒殺聚劃算搶購自動提醒源碼

    python實現(xiàn)淘寶秒殺聚劃算搶購自動提醒源碼

    這篇文章主要為大家詳細(xì)介紹了Python實現(xiàn)淘寶秒殺聚劃算搶購自動提醒源碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • Requests庫實現(xiàn)數(shù)據(jù)抓取與處理功能

    Requests庫實現(xiàn)數(shù)據(jù)抓取與處理功能

    本文介紹了Python中常用的第三方庫Requests的基本用法和高級功能,我們學(xué)習(xí)了如何發(fā)起HTTP請求、處理響應(yīng)、使用會話對象、設(shè)置代理和證書驗證等技巧,需要的朋友可以參考下
    2023-05-05
  • 解決Django響應(yīng)JsonResponse返回json格式數(shù)據(jù)報錯問題

    解決Django響應(yīng)JsonResponse返回json格式數(shù)據(jù)報錯問題

    這篇文章主要介紹了解決Django響應(yīng)JsonResponse返回json格式數(shù)據(jù)報錯問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08

最新評論