類和實(shí)例

類和實(shí)例:

定義一個(gè)類:class后面緊接著是類名,即Student,類名通常是大寫(xiě)開(kāi)頭的單詞,緊接著是(object),表示該類是從哪個(gè)類繼承下來(lái)的,繼承的概念我們后面再講,通常,如果沒(méi)有合適的繼承類,就使用object類,這是所有類最終都會(huì)繼承的類。

實(shí)例化對(duì)象:定義好了Student類,就可以根據(jù)Student類創(chuàng)建出Student的實(shí)例,創(chuàng)建實(shí)例是通過(guò)類名+()實(shí)現(xiàn)的。

由于類可以起到模板的作用,因此,可以在創(chuàng)建實(shí)例的時(shí)候,把一些我們認(rèn)為必須綁定的屬性強(qiáng)制填寫(xiě)進(jìn)去。通過(guò)定義一個(gè)特殊的__init__方法,在創(chuàng)建實(shí)例的時(shí)候,就把name,score等屬性綁上去:

class Student(object):

def __init__(self, name, score):

self.name = name

self.score = score

注意到__init__方法的第一個(gè)參數(shù)永遠(yuǎn)是self,表示創(chuàng)建的實(shí)例本身,因此,在__init__方法內(nèi)部,就可以把各種屬性綁定到self,因?yàn)閟elf就指向創(chuàng)建的實(shí)例本身。

有了__init__方法,在創(chuàng)建實(shí)例的時(shí)候,就不能傳入空的參數(shù)了,必須傳入與__init__方法匹配的參數(shù),但self不需要傳,Python解釋器自己會(huì)把實(shí)例變量傳進(jìn)去。

和普通的函數(shù)相比,在類中定義的函數(shù)只有一點(diǎn)不同,就是第一個(gè)參數(shù)永遠(yuǎn)是實(shí)例變量self,并且,調(diào)用時(shí),不用傳遞該參數(shù)。除此之外,類的方法和普通函數(shù)沒(méi)有什么區(qū)別,所以,你仍然可以用默認(rèn)參數(shù)、可變參數(shù)、關(guān)鍵字參數(shù)和命名關(guān)鍵字參數(shù)。

數(shù)據(jù)封裝:

內(nèi)部定義訪問(wèn)數(shù)據(jù)的函數(shù),這樣,就把“數(shù)據(jù)”給封裝起來(lái)了。這些封裝數(shù)據(jù)的函數(shù)是和Student類本身是關(guān)聯(lián)起來(lái)的,我們稱之為類的方法:在類的方法后面?zhèn)魅雲(yún)?shù)(self),可以訪問(wèn)類的屬性。

小結(jié)

類是創(chuàng)建實(shí)例的模板,而實(shí)例則是一個(gè)一個(gè)具體的對(duì)象,各個(gè)實(shí)例擁有的數(shù)據(jù)都互相獨(dú)立,互不影響;

方法就是與實(shí)例綁定的函數(shù),和普通函數(shù)不同,方法可以直接訪問(wèn)實(shí)例的數(shù)據(jù);

通過(guò)在實(shí)例上調(diào)用方法,我們就直接操作了對(duì)象內(nèi)部的數(shù)據(jù),但無(wú)需知道方法內(nèi)部的實(shí)現(xiàn)細(xì)節(jié)。

和靜態(tài)語(yǔ)言不同,Python允許對(duì)實(shí)例變量綁定任何數(shù)據(jù),也就是說(shuō),對(duì)于兩個(gè)實(shí)例變量,雖然它們都是同一個(gè)類的不同實(shí)例,但擁有的變量名稱都可能不同:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 面向?qū)ο缶幊?面向?qū)ο缶幊獭狾bject Oriented Programming,簡(jiǎn)稱OOP,是一種程序設(shè)計(jì)思...
    時(shí)間之友閱讀 840評(píng)論 0 0
  • 類和實(shí)例 廖雪峰的官方網(wǎng)站?2015 類和實(shí)例閱讀: 208723面向?qū)ο笞钪匾母拍罹褪穷悾–lass)和實(shí)例(...
    simtech2win閱讀 329評(píng)論 0 0
  • http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958...
    喵在野閱讀 322評(píng)論 0 1
  • 要點(diǎn): 函數(shù)式編程:注意不是“函數(shù)編程”,多了一個(gè)“式” 模塊:如何使用模塊 面向?qū)ο缶幊蹋好嫦驅(qū)ο蟮母拍?、屬性?..
    victorsungo閱讀 1,696評(píng)論 0 6
  • 可能跟翻譯風(fēng)格有關(guān),可能是因?yàn)檫@個(gè)故事明明是科幻卻帶有種宿命感,當(dāng)然也可能只是因?yàn)槲乙郧翱催^(guò)這一篇(……),總之這...
    一條污蚣閱讀 222評(píng)論 0 0

友情鏈接更多精彩內(nèi)容