站長(zhǎng)在線Python教程:Python中類定義詳解
導(dǎo)讀:歡迎你來(lái)到站長(zhǎng)在線的站長(zhǎng)學(xué)堂學(xué)習(xí)Python知識(shí),本文學(xué)習(xí)的是《Python中類定義詳解》。
永久美國(guó)免備案虛擬主機(jī)1元1天,15元1月,100元1年,1000元永久
站長(zhǎng)在線旗下答案網(wǎng)站,全站所有題目,免費(fèi)查看答案和答案解析
導(dǎo)讀:歡迎你來(lái)到站長(zhǎng)在線的站長(zhǎng)學(xué)堂學(xué)習(xí)python知識(shí),本文學(xué)習(xí)的是《Python中類定義詳解》。
我們?cè)谏弦还?jié)內(nèi)容《Python中面向?qū)ο笙嚓P(guān)概述詳解》中學(xué)習(xí)過(guò),類是具有相同屬性和方法的對(duì)象的集合。
在class)和對(duì)象(object
,也被稱為實(shí)例,Instance)。在使用類的時(shí)候,是先定義類,然后創(chuàng)建類的對(duì)象(實(shí)例),通過(guò)類的實(shí)例可以訪問(wèn)類中的屬性和方法。
再借助上節(jié)課的人類和人類對(duì)象的關(guān)系示意圖(下圖),我們說(shuō)的類(如:人類)是一批對(duì)象(如:一個(gè)正在碼字的程序員)的抽象,對(duì)象是具體存在的實(shí)體。
在Python中,類的定義使用class
關(guān)鍵字來(lái)實(shí)現(xiàn),語(yǔ)法如下:
class classname:
<statement-1>
.
.
.
<statement-N>
其中,相關(guān)參數(shù)說(shuō)明如下:
ClassName
:用于指定類名,一般使用大寫字母開(kāi)頭,如果類名中包括多個(gè)單詞,每個(gè)單詞的首字母也大寫,單詞與單詞之間不要使用任何分隔符。這種命名方法也稱為“駝峰式命名法”,這是慣例。當(dāng)然,也可根據(jù)自己的習(xí)慣命名,但是一般推薦按照慣例來(lái)命名。
注意:使用a,b,c這樣的簡(jiǎn)單字母來(lái)定義類名,從語(yǔ)法上面來(lái)講沒(méi)有錯(cuò)誤,但是作為一個(gè)合格的程序員,必須要考慮,程序的可讀性。
<statement-1> . . . <statement-N>
:用于類體,主要由類變量(或類成員)、方法和屬性等定義語(yǔ)句組成。
如果在定義類時(shí),沒(méi)想好類的具體功能,也可以在類體中直接使用pass語(yǔ)句代替。如:
class empty:
pass
從上面定義來(lái)看,Python 的類定義
有點(diǎn)像函數(shù)定義
,都是以冒號(hào)(:)作為類體的開(kāi)始,以統(tǒng)一縮進(jìn)的部分作為類體的。區(qū)別只是函數(shù)定義使用 def
關(guān)鍵字,而類定義則使用 class
關(guān)鍵字。
類定義與函數(shù)定義 (def
語(yǔ)句) 一樣必須被執(zhí)行才會(huì)起作用。 (你可以嘗試將類定義放在 if 語(yǔ)句的一個(gè)分支或是函數(shù)的內(nèi)部。)
當(dāng)進(jìn)入類定義時(shí),將創(chuàng)建一個(gè)新的命名空間,并將其用作局部作用域 --- 因此,所有對(duì)局部變量的賦值都是在這個(gè)新命名空間之內(nèi)。 特別的,函數(shù)定義會(huì)綁定到這里的新函數(shù)名稱。
當(dāng)(從結(jié)尾處)正常離開(kāi)類定義時(shí),將創(chuàng)建一個(gè) 類對(duì)象。 這基本上是一個(gè)包圍在類定義所創(chuàng)建命名空間內(nèi)容周圍的包裝器;我們將在下一節(jié)了解有關(guān)類對(duì)象
的更多信息。 原始的(在進(jìn)入類定義之前起作用的)局部作用域?qū)⒅匦律?,類?duì)象將在這里被綁定到類定義頭所給出的類名稱 (在這個(gè)示例中為 ClassName
)。
本文地址:http://003188.cn/pythonleidingyi.html
阿里云虛擬主機(jī)1G空間,120元一年
香港、美國(guó)虛擬主機(jī)100元一年,1000元永久
騰訊云雙十一0.4折起,2核8G5M三年僅700元,2核4G8M三年僅198元
猜你喜歡