新聞中心
Python類的定義

目前創(chuàng)新互聯(lián)已為上千的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計、涪城網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
Python 中定義一個類使用 class 關(guān)鍵字實現(xiàn),其基本語法格式如下:
class 類名: 多個(≥0)類屬性... 多個(≥0)類方法...
注意,無論是類屬性還是類方法,對于類來說,它們都不是必需的,可以有也可以沒有。另外,Python 類中屬性和方法所在的位置是任
意的,即它們之間并沒有固定的前后次序。
和變量名一樣,類名本質(zhì)上就是一個標識符,因此我們在給類起名字時,必須讓其符合 Python 的語法。有讀者可能會問,用 a、b、c 作
為類的類名可以嗎?從 Python 語法上講,是完全沒有問題的,但作為一名合格的程序員,我們必須還要考慮程序的可讀性。
因此,在給類起名字時,最好使用能代表該類功能的單詞,例如用“Student”作為學(xué)生類的類名;甚至如果必要,可以使用多個單詞組
合而成,例如初學(xué)者定義的第一個類的類名可以是“TheFirstDemo”。
注意,如果由單詞構(gòu)成類名,建議每個單詞的首字母大寫,其它字母小寫。
給類起好名字之后,其后要跟有冒號(:),表示告訴 Python 解釋器,下面要開始設(shè)計類的內(nèi)部功能了,也就是編寫類屬性和類方法。
其實,類屬性指的就是包含在類中的變量;而類方法指的是包含類中的函數(shù)。換句話說,類屬性和類方法其實分別是包含類中的變量和函
數(shù)的別稱。需要注意的一點是,同屬一個類的所有類屬性和類方法,要保持統(tǒng)一的縮進格式,通常統(tǒng)一縮進 4 個空格。
通過上面的分析,可以得出這樣一個結(jié)論,即 Python 類是由類頭(class 類名)和類體(統(tǒng)一縮進的變量和函數(shù))構(gòu)成。例如,下面程
序定義一個 TheFirstDemo 類:
class TheFirstDemo: '''這是一個學(xué)習(xí)Python定義的第一個類''' # 下面定義了一個類屬性 add = 'http://c.biancheng.net' # 下面定義了一個say方法 def say(self, content): print(content)
和函數(shù)一樣,我們也可以為類定義說明文檔,其要放到類頭之后,類體之前的位置,如上面程序中第二行的字符串,就是 TheFirstDemo
這個類的說明文檔。
另外分析上面的代碼可以看到,我們創(chuàng)建了一個名為 TheFirstDemo 的類,其包含了一個名為 add 的類屬性。注意,根據(jù)定義屬性位置
的不同,在各個類方法之外定義的變量稱為類屬性或類變量(如 add 屬性),而在類方法中定義的屬性稱為實例屬性(或?qū)嵗兞浚?/p>
它們的區(qū)別和用法可閱讀《Python類變量和實例變量》一節(jié)。
同時,TheFirstDemo 類中還包含一個 say() 類方法,細心的讀者可能已經(jīng)看到,該方法包含兩個參數(shù),分別是 self 和 content。可以肯
定的是,content 參數(shù)就只是一個普通參數(shù),沒有特殊含義,但 self 比較特殊,并不是普通的參數(shù),它的作用會在后續(xù)章節(jié)中詳細介紹。
更確切地說,say() 是一個實例方法,除此之外,Python 類中還可以定義類方法和靜態(tài)方法,這 3 種類方法的區(qū)別和具體用法,可閱讀
《Python實例方法、靜態(tài)方法和類方法》。
事實上,我們完全可以創(chuàng)建一個沒有任何類屬性和類方法的類,換句話說,Python 允許創(chuàng)建空類,例如:
class Empty: pass
可以看到,如果一個類沒有任何類屬性和類方法,那么可以直接用 pass 關(guān)鍵字作為類體即可。但在實際應(yīng)用中,很少會創(chuàng)建空類,因為
空類沒有任何實際意義。
本文題目:創(chuàng)新互聯(lián)Python教程:徹底搞懂Python中的類
網(wǎng)頁網(wǎng)址:http://m.fisionsoft.com.cn/article/dhjphgc.html


咨詢
建站咨詢
