python定義類(lèi)的簡(jiǎn)單語(yǔ)法如下:
class類(lèi)名:
執(zhí)行語(yǔ)句...
零個(gè)到多個(gè)類(lèi)變量...
零個(gè)到多個(gè)方法...
類(lèi)名只要是一個(gè)合法的標(biāo)識(shí)符即可,但這僅僅滿足的是Python的語(yǔ)法要求:如果從程序的可讀性方面來(lái)看,Python的類(lèi)名必須是由一個(gè)或多個(gè)有意義的單詞連綴而成的,每個(gè)單詞首字母大寫(xiě),其他字母全部小寫(xiě),單詞與單詞之間不要使用任何分隔符。
從上面定義來(lái)看,Python的類(lèi)定義有點(diǎn)像函數(shù)定義,都是以冒號(hào)(:)作為類(lèi)體的開(kāi)始,以統(tǒng)一縮進(jìn)的部分作為類(lèi)體的。區(qū)別只是函數(shù)定義使用def關(guān)鍵字,而類(lèi)定義則使用class關(guān)鍵字。
Python的類(lèi)定義由類(lèi)頭(指class關(guān)鍵字和類(lèi)名部分)和統(tǒng)一縮進(jìn)的類(lèi)體構(gòu)成,在類(lèi)體中最主要的兩個(gè)成員就是類(lèi)變量和方法。如果不為類(lèi)定義任何類(lèi)變量和方法,那么這個(gè)類(lèi)就相當(dāng)于一個(gè)空類(lèi),如果空類(lèi)不需要其他可執(zhí)行語(yǔ)句,則可使用pass語(yǔ)句作為占位符。例如,如下類(lèi)定義是允許的:
classEmpty:
pass
通常來(lái)說(shuō),空類(lèi)沒(méi)有太大的實(shí)際意義。
類(lèi)中各成員之間的定義順序沒(méi)有任何影響,各成員之間可以相互調(diào)用。
Python類(lèi)所包含的最重要的兩個(gè)成員就是變量和方法,其中類(lèi)變量屬于類(lèi)本身,用于定義該類(lèi)本身所包含的狀態(tài)數(shù)據(jù):而實(shí)例變量則屬于該類(lèi)的對(duì)象,用于定義對(duì)象所包含的狀態(tài)數(shù)據(jù):方法則用于定義該類(lèi)的對(duì)象的行為或功能實(shí)現(xiàn)。
類(lèi)似的是,Python對(duì)象的實(shí)例變量也可以動(dòng)態(tài)增加或刪除(只要對(duì)新實(shí)例變量賦值就是增加實(shí)例變量),因此程序可以在任何地方為己有的對(duì)象增加實(shí)例變量;程序可通過(guò)del語(yǔ)句刪除已有對(duì)象的實(shí)例變量。
在類(lèi)中定義的方法默認(rèn)是實(shí)例方法,定義實(shí)例方法的方法與定義函數(shù)的方法基本相同,只是實(shí)例方法的第一個(gè)參數(shù)會(huì)被綁定到方法的調(diào)用者(該類(lèi)的實(shí)例),因此實(shí)例方法至少應(yīng)該定義一個(gè)參數(shù),該參數(shù)通常會(huì)被命名為self。
以上內(nèi)容為大家介紹了python培訓(xùn)之定義類(lèi)不寫(xiě)括號(hào)嗎?,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。