- 面向?qū)ο蠛?jiǎn)介
? Python是一門面向?qū)ο蟮木幊陶Z言
? 所謂面向?qū)ο蟮恼Z言轿钠,簡(jiǎn)單理解就是語言中的所有操作都是通過對(duì)象來進(jìn)行的
? 面向過程
? 面向過程指將我們的程序分解為一個(gè)一個(gè)步驟棒旗,通過對(duì)每個(gè)步驟的抽象來完成程序
? 這種編寫方式往往只適用于一個(gè)功能络断,如果要實(shí)現(xiàn)別的功能逾雄,往往復(fù)用性比較低
? 這種編程方式符號(hào)人類的思維及老,編寫起來比較容易
? 1.媽媽穿衣服穿鞋出門
? 2.媽媽騎上電動(dòng)車
? 3.媽媽到超市門口放好電動(dòng)車
? 4.媽媽買西瓜
? 5.媽媽結(jié)賬
? 6.媽媽騎電動(dòng)車回家
? 7.到家孩子吃西瓜
? 面向?qū)ο蟮木幊陶Z言豹悬,關(guān)注的是對(duì)象斤彼,而不注重過程分瘦,對(duì)于面向?qū)ο笠磺薪詫?duì)象
? 以上方式可以用 孩子?jì)寢尳o孩子買瓜來解決
? 面向?qū)ο蟮木幊趟枷胝盒海瑢⑺泄δ芙y(tǒng)一保存到對(duì)應(yīng)的對(duì)象中,要使用某個(gè)功能嘲玫,直接找到對(duì)應(yīng)的對(duì)象即可
? 這種編碼方式比較容易閱讀悦施,并且易于維護(hù),容易復(fù)用去团。但是編寫的過程中不太符合常規(guī)的思維抡诞,編寫相對(duì)麻煩 - 類(class)
? 我們目前學(xué)習(xí)的都是Python的內(nèi)置對(duì)象,但是內(nèi)置對(duì)象并不都能滿足我們的需求土陪,所以我們?cè)陂_發(fā)中經(jīng)常要自定義一些對(duì)象
? 類簡(jiǎn)單理解它就是相當(dāng)于一個(gè)圖紙昼汗,在程序匯總我們需要根據(jù)類來創(chuàng)建對(duì)象。
? 類就是對(duì)象的圖紙
? 我們也稱對(duì)象是類的實(shí)例(instance)
? 如果多個(gè)對(duì)象是通過一個(gè)類創(chuàng)建的鬼雀,我們稱這些對(duì)象是一類對(duì)象
語法
class 類名([父類]):
pass
? 類也是一個(gè)對(duì)象顷窒,類就是用來創(chuàng)建對(duì)象的對(duì)象
? 可以像對(duì)象中添加變量,對(duì)象中的變量稱之為屬性 語法:對(duì)象.屬性名 = 屬性值
- 類的定義
? 類和對(duì)象都是對(duì)現(xiàn)實(shí)生活中事物的抽象
? 事物包含兩部分
? 1. 數(shù)據(jù)(屬性)
? 2. 行為(方法)
? 調(diào)用方法 對(duì)象.方法名()
? 方便調(diào)用和函數(shù)調(diào)用的區(qū)別:如果是函數(shù)調(diào)用源哩,調(diào)用時(shí)有幾個(gè)形參鞋吉,就會(huì)傳遞幾個(gè)實(shí)參。如果是方法調(diào)用励烦,默認(rèn)傳遞一個(gè)參數(shù)谓着,所以方法中至少得有一個(gè)形參
? 在類代碼塊中,我們可以定義變量和函數(shù)
? 變量會(huì)成為該類實(shí)例的公共屬性坛掠,所有的該實(shí)例都可以通過 對(duì)象.屬性名的形式訪問
? 函數(shù)會(huì)成為該類實(shí)例的公共方法赊锚,所有該類實(shí)例都可以通過 對(duì)象.方法名的形式訪問 - 參數(shù)self
4.1 屬性和方法
? 類中定義的屬性和方法都是公共的,任何該類實(shí)例都可以訪問
? 屬性和方法的查找流程
? 當(dāng)我們調(diào)用一個(gè)對(duì)象的屬性時(shí)却音,解析器會(huì)現(xiàn)在當(dāng)前的對(duì)象中尋找是否還有該屬性改抡,如果有,則直接返回當(dāng)前的對(duì)象的屬性值系瓢。如果沒有阿纤,則去當(dāng)前對(duì)象的類對(duì)象中去尋找,如果有則返回類對(duì)象的屬性值夷陋。如果沒有就報(bào)錯(cuò)
? 類對(duì)象和實(shí)例對(duì)象中都可以保存屬性(方法)
? 如果這個(gè)屬性(方法)是所以的實(shí)例共享的欠拾,則應(yīng)該將其保存到類對(duì)象中
? 如果這個(gè)屬性(方法)是摸個(gè)實(shí)例獨(dú)有的。則應(yīng)該保存到實(shí)例對(duì)象中
? 一般情況下骗绕,屬性保存到實(shí)例對(duì)象中 而方法需要保存到類對(duì)象中
4.2 self
? self在定義時(shí)需要定義藐窄,但是在調(diào)用時(shí)會(huì)自動(dòng)傳入。
? self的名字并不是規(guī)定死的酬土,但是最好還是按照約定是用self
? self總是指調(diào)用時(shí)的類的實(shí)例
?