日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python 类的定义、继承及使用对象

發布時間:2025/4/14 python 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python 类的定义、继承及使用对象 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python 類的定義、繼承及使用對象

作者:保⑩潔

本文轉載:http://www.17jo.com/program/python/base/ClassUse.html

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

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


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

>>> class pp:

... ????pass

...

>>> p = pp()

>>> print p

<__main__.pp instance at 0x00CA77B0>

>>>

打印了這個變量的類型。它告訴我們我們已經在__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__方法是在程序退出時調用的。

?

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

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

??


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

# 例:類的繼承? 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): # 子類增加函數 SetVoice self.voice = voice? def Run(self,voice): # 子類重載函數Run? print 'Running'? bobo = CDog()? bobo.SetVoice('My Name is BoBo!') # 設置child.data為hello? bobo.Say()? bobo.Run()? >> My Name is BoBo!? >> Running

總結

以上是生活随笔為你收集整理的Python 类的定义、继承及使用对象的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。