Python說明書 (7) 對象篇

面向過程/對象

舉個栗子

面向過程:按照邏輯業(yè)務(wù),從上到下寫代碼

比如說現(xiàn)在開學(xué)了學(xué)生們要進行自我介紹么夫,寫一個程序去介紹者冤,根據(jù)學(xué)生的信息然后最后定義一個過程來完成這個自我介紹的任務(wù);再比如說档痪,殺龍涉枫,那首先我們要找殺龍的武器,誰去殺龍腐螟,殺龍的過程要怎么殺愿汰,最后完成殺龍的任務(wù)。這是都是面向過程乐纸,面向過程的時候你整個過程都得設(shè)計清楚衬廷,不能有一個過程有出錯,不然程序就無法運行下去汽绢。


面向?qū)ο螅簩?shù)據(jù)和函數(shù)綁在一起吗跋,進行封裝,更快的開發(fā)程序,減少了重復(fù)代碼的重復(fù)書寫過程跌宛。

面向?qū)ο缶褪切锼危F(xiàn)在要自我介紹,你叫同學(xué)自己站起來自我介紹就行秩冈,你也不用給他規(guī)定模板怎么介紹本缠,他自己介紹就可以。殺龍也不用自己想著怎么殺入问,你要想的就是誰能殺龍讓他去殺丹锹,完成這個殺龍的任務(wù)就行。也就是面向哪個對象芬失。

面向?qū)ο蠛兔嫦蜻^程僅僅是一種解決問題的思路楣黍,沒有絕對的概念去區(qū)分這個代碼是面向?qū)ο筮€是過程

對象→類→屬性/方法

日常生活中我們把相近的東西分為一類(class)棱烂,比如鳥類租漂,那一只烏鴉/一只麻雀/一只鴕鳥等等的就是里面的個體計算機里稱為對象颊糜,一個類別下有很多對象哩治。鳥類有羽毛,繁衍方式是下蛋衬鱼,這是鳥類的屬性业筏。除了用屬性來分類,我們也可以用方法來分類鸟赫。鳥會飛蒜胖,會移動,這是鳥的行為抛蚤,計算機里稱為方法(method)台谢。方法在類的內(nèi)部定義函數(shù)。


類與對象的關(guān)系

類(Class)由3部分構(gòu)成

類的名稱:類名

類的屬性:特征

類的方法:類能進行的操作行為

1.定義一個類的方法是

class 類名:

類名的第一個字母通常大小寫

2.定義類的方法

def 屬性名(self,屬性值)

記得一定要先self!!!

self參數(shù)是為了在方法內(nèi)部引用對象自身岁经,方法的第一個參數(shù)必須位self

3.創(chuàng)建一個對象的方法是

類名()

4.給對象添加屬性的方法是

對象.屬性名() = 值

5.引用對象屬性的兩種方法

(1)對象.屬性

(2)定義一個方法朋沮,這個方法中使用self.屬性


栗子


python提供了初始化對象的方法,一系列特殊方法稱為魔法方法(magic method),方法名為前后兩個下劃線缀壤,比如__init__()/__add__()/__dict__()

__init__的方法:在每次創(chuàng)建對象時自動調(diào)用


輸出ok

self參數(shù)還能在一個方法內(nèi)部調(diào)用同一類的其它方法


類別本身還可以細(xì)分成子類樊拓,我們通過繼承表達上述概念


子類可以繼承父類的屬性,在子類添加父類不存在的屬性诉位,從而增強子類的功能骑脱。子類還可以進行屬性覆蓋,在子類替換父類已經(jīng)存在的屬性。

False

蘋果會調(diào)用水果的屬性而不是食物的屬性

但有時子類是父類的拓展苍糠,這時就可以用super關(guān)鍵字在子類中調(diào)用父類中覆蓋的方法


運算符

__add__():將兩個對象進行加法運算

__sub__():減法操作

__getitem__():調(diào)用[]方法

__setitem__():替換元素

__delitem__():刪除元素

__len__():元素總數(shù)

__abs__():絕對值

__int__():取整數(shù)

__mul__():乘法

__dict__():鍵為屬性名

propetry()特性

內(nèi)置函數(shù)propetry()特性是特殊的屬性,propetry()最多可以加載四個參數(shù)摸吠。前三個參數(shù)為函數(shù)煤蚌,分別用于設(shè)置獲取/修改/刪除屬性酌媒,最后一個參數(shù)為特性的文檔,可以為一個字符串起說明作用蚊锹。

__getattr__()方法

__getattr__(self,name)?來查詢即生成的屬性,只能用來查詢不在__dict__中的屬性稚瘾。__getattribute__()可以用來查詢?nèi)我鈱傩?/p>

__setattr__(self,name,value) 修改屬性

__delattr__(self,name) 刪除屬性

__descriptor__?

動態(tài)類型

1.對象名是對對象的引用牡昆,變量名可以隨時更改指向,變量類型也可以在程序中改變摊欠,python是動態(tài)語言

(1)內(nèi)置函數(shù)id(),能夠查詢到引用指向的是哪個對象丢烘,返回對象的編號

賦值后,返回的編號相同

(2)用is運算判斷兩個引用是否指向同一個對象


2.可變對象和不可變對象

(1)不可變對象

整數(shù)/浮點數(shù)/字符串些椒,不能改變對象本身播瞳,賦值最多只能改變對象的指向

b指向5沒有改變

(2)可變對象

字典/列表自身對象可以發(fā)生改變

list2指向的[0,1,2]發(fā)生了改變

3.從動態(tài)類型看參數(shù)傳遞

a與x相互獨立

a改變

引用計數(shù)

getrecount()創(chuàng)建臨時引用,所得結(jié)果會比期望多1

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末免糕,一起剝皮案震驚了整個濱河市赢乓,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌石窑,老刑警劉巖牌芋,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異松逊,居然都是意外死亡躺屁,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進店門棺棵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來楼咳,“玉大人熄捍,你說我怎么就攤上這事烛恤。” “怎么了余耽?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵缚柏,是天一觀的道長。 經(jīng)常有香客問我碟贾,道長币喧,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任袱耽,我火速辦了婚禮杀餐,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘朱巨。我一直安慰自己史翘,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著琼讽,像睡著了一般必峰。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上钻蹬,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天吼蚁,我揣著相機與錄音,去河邊找鬼问欠。 笑死肝匆,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的顺献。 我是一名探鬼主播术唬,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼滚澜!你這毒婦竟也來了粗仓?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤设捐,失蹤者是張志新(化名)和其女友劉穎借浊,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體萝招,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡蚂斤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了槐沼。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片曙蒸。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖岗钩,靈堂內(nèi)的尸體忽然破棺而出纽窟,到底是詐尸還是另有隱情,我是刑警寧澤兼吓,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布臂港,位于F島的核電站,受9級特大地震影響视搏,放射性物質(zhì)發(fā)生泄漏审孽。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一浑娜、第九天 我趴在偏房一處隱蔽的房頂上張望佑力。 院中可真熱鬧,春花似錦筋遭、人聲如沸打颤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽瘸洛。三九已至揍移,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間反肋,已是汗流浹背那伐。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留石蔗,地道東北人罕邀。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像养距,于是被迫代替她去往敵國和親诉探。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,592評論 2 353

推薦閱讀更多精彩內(nèi)容