小編給大家分享一下關(guān)于Python中類(lèi)的定義,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
專(zhuān)業(yè)從事企業(yè)網(wǎng)站建設(shè)和網(wǎng)站設(shè)計(jì)服務(wù),包括網(wǎng)站建設(shè)、域名注冊(cè)、雅安服務(wù)器托管、企業(yè)郵箱、微信公眾號(hào)開(kāi)發(fā)、微信支付寶成都微信小程序、app軟件開(kāi)發(fā)公司、軟件開(kāi)發(fā)、等服務(wù)。公司始終通過(guò)不懈的努力和以更高的目標(biāo)來(lái)要求自己,在不斷完善自身管理模式和提高技術(shù)研發(fā)能力的同時(shí),大力倡導(dǎo)推行新經(jīng)濟(jì)品牌戰(zhàn)略,促進(jìn)互聯(lián)網(wǎng)事業(yè)的發(fā)展。
Python類(lèi)的定義
Python 中定義一個(gè)類(lèi)使用 class 關(guān)鍵字實(shí)現(xiàn),其基本語(yǔ)法格式如下:
class 類(lèi)名: 多個(gè)(≥0)類(lèi)屬性... 多個(gè)(≥0)類(lèi)方法...
注意,無(wú)論是類(lèi)屬性還是類(lèi)方法,對(duì)于類(lèi)來(lái)說(shuō),它們都不是必需的,可以有也可以沒(méi)有。另外,Python 類(lèi)中屬性和方法所在的位置是任
意的,即它們之間并沒(méi)有固定的前后次序。
和變量名一樣,類(lèi)名本質(zhì)上就是一個(gè)標(biāo)識(shí)符,因此我們?cè)诮o類(lèi)起名字時(shí),必須讓其符合 Python 的語(yǔ)法。有讀者可能會(huì)問(wèn),用 a、b、c 作
為類(lèi)的類(lèi)名可以嗎?從 Python 語(yǔ)法上講,是完全沒(méi)有問(wèn)題的,但作為一名合格的程序員,我們必須還要考慮程序的可讀性。
因此,在給類(lèi)起名字時(shí),最好使用能代表該類(lèi)功能的單詞,例如用“Student”作為學(xué)生類(lèi)的類(lèi)名;甚至如果必要,可以使用多個(gè)單詞組
合而成,例如初學(xué)者定義的第一個(gè)類(lèi)的類(lèi)名可以是“TheFirstDemo”。
注意,如果由單詞構(gòu)成類(lèi)名,建議每個(gè)單詞的首字母大寫(xiě),其它字母小寫(xiě)。
給類(lèi)起好名字之后,其后要跟有冒號(hào)(:),表示告訴 Python 解釋器,下面要開(kāi)始設(shè)計(jì)類(lèi)的內(nèi)部功能了,也就是編寫(xiě)類(lèi)屬性和類(lèi)方法。
其實(shí),類(lèi)屬性指的就是包含在類(lèi)中的變量;而類(lèi)方法指的是包含類(lèi)中的函數(shù)。換句話(huà)說(shuō),類(lèi)屬性和類(lèi)方法其實(shí)分別是包含類(lèi)中的變量和函
數(shù)的別稱(chēng)。需要注意的一點(diǎn)是,同屬一個(gè)類(lèi)的所有類(lèi)屬性和類(lèi)方法,要保持統(tǒng)一的縮進(jìn)格式,通常統(tǒng)一縮進(jìn) 4 個(gè)空格。
通過(guò)上面的分析,可以得出這樣一個(gè)結(jié)論,即 Python 類(lèi)是由類(lèi)頭(class 類(lèi)名)和類(lèi)體(統(tǒng)一縮進(jìn)的變量和函數(shù))構(gòu)成。例如,下面程
序定義一個(gè) TheFirstDemo 類(lèi):
class TheFirstDemo: '''這是一個(gè)學(xué)習(xí)Python定義的第一個(gè)類(lèi)''' # 下面定義了一個(gè)類(lèi)屬性 add = 'http://c.biancheng.net' # 下面定義了一個(gè)say方法 def say(self, content): print(content)
和函數(shù)一樣,我們也可以為類(lèi)定義說(shuō)明文檔,其要放到類(lèi)頭之后,類(lèi)體之前的位置,如上面程序中第二行的字符串,就是 TheFirstDemo
這個(gè)類(lèi)的說(shuō)明文檔。
另外分析上面的代碼可以看到,我們創(chuàng)建了一個(gè)名為 TheFirstDemo 的類(lèi),其包含了一個(gè)名為 add 的類(lèi)屬性。注意,根據(jù)定義屬性位置
的不同,在各個(gè)類(lèi)方法之外定義的變量稱(chēng)為類(lèi)屬性或類(lèi)變量(如 add 屬性),而在類(lèi)方法中定義的屬性稱(chēng)為實(shí)例屬性(或?qū)嵗兞浚?/p>
它們的區(qū)別和用法可閱讀《Python類(lèi)變量和實(shí)例變量》一節(jié)。
同時(shí),TheFirstDemo 類(lèi)中還包含一個(gè) say() 類(lèi)方法,細(xì)心的讀者可能已經(jīng)看到,該方法包含兩個(gè)參數(shù),分別是 self 和 content。可以肯
定的是,content 參數(shù)就只是一個(gè)普通參數(shù),沒(méi)有特殊含義,但 self 比較特殊,并不是普通的參數(shù),它的作用會(huì)在后續(xù)章節(jié)中詳細(xì)介紹。
更確切地說(shuō),say() 是一個(gè)實(shí)例方法,除此之外,Python 類(lèi)中還可以定義類(lèi)方法和靜態(tài)方法,這 3 種類(lèi)方法的區(qū)別和具體用法,可閱讀
《Python實(shí)例方法、靜態(tài)方法和類(lèi)方法》。
事實(shí)上,我們完全可以創(chuàng)建一個(gè)沒(méi)有任何類(lèi)屬性和類(lèi)方法的類(lèi),換句話(huà)說(shuō),Python 允許創(chuàng)建空類(lèi),例如:
class Empty: pass
可以看到,如果一個(gè)類(lèi)沒(méi)有任何類(lèi)屬性和類(lèi)方法,那么可以直接用 pass 關(guān)鍵字作為類(lèi)體即可。但在實(shí)際應(yīng)用中,很少會(huì)創(chuàng)建空類(lèi),因?yàn)?/p>
空類(lèi)沒(méi)有任何實(shí)際意義。
看完了這篇文章,相信你對(duì)關(guān)于Python中類(lèi)的定義有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
當(dāng)前名稱(chēng):關(guān)于Python中類(lèi)的定義
分享網(wǎng)址:http://www.chinadenli.net/article18/ieojdp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、品牌網(wǎng)站建設(shè)、微信小程序、虛擬主機(jī)、網(wǎng)站維護(hù)、定制開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)