溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python中class如何使用

發(fā)布時間:2020-09-22 15:07:49 來源:億速云 閱讀:223 作者:小新 欄目:編程語言

這篇文章主要介紹了python中class如何使用,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

具體的形式如下:

# 例:類的概念
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

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享python中class如何使用內(nèi)容對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,遇到問題就找億速云,詳細(xì)的解決方法等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI