Python基礎(chǔ)(五)類和對象

1. 類和對象

1. 定義類

class 類名:
        執(zhí)行語句...
        零到多個類變量...
        零到多個方法...
  1. 類名:由一個或多個有意義的單詞連綴而成的祟霍,每個單詞首字母大寫歪泳,其他字母小寫锉屈,單詞與單詞之間不要使用任何分隔符
  2. 類變量屬于類本身,用于定義該類本身所包含的狀態(tài)數(shù)據(jù)
  3. 實例變量屬于該類的對象办龄,用于定義對象所包含的狀態(tài)數(shù)據(jù)
  4. 方法則用于定義該類的對象的行為或功能實現(xiàn)
  5. init構(gòu)造方法烘绽,del析構(gòu)方法
類的定義

2. 對象的產(chǎn)生和使用

對象的產(chǎn)生

對象的使用

3. 實例方法

對于在類體中定義的實例方法,Python會自動綁定方法中的第一個參數(shù)(通常建議將該參數(shù)命名為self)俐填,第一個參數(shù)總是指向調(diào)用該方法的對象安接。在構(gòu)造方法中,self參數(shù)(第一個參數(shù))代表該構(gòu)造方法正在初始化的對象英融。

class Dog:
    def run(self):
        print('這是run方法')
    def jump(self):
        self.run()
        print('這是jump方法')

2. 方法

方法是類或?qū)ο蟮男袨樘卣鞯某橄?/p>

1. 類也能調(diào)用實例方法

# 全局變量的定義
def foo():
     print('全局變量的foo方法')
bar = 200
class Brid:
    # 定義Bird空間的foo函數(shù)
    def foo():
        print('Bird空間的foo方法')
    def walk(self):
        print(self,'正在走')
    bar = 200
# 調(diào)用
foo()
print(bar)

Brid.foo()
print(Brid.bar)
# Brid.walk() 報錯
Brid.walk('abc')

2. 類方法與靜態(tài)方法

@classmethod 裝飾的是類方法盏檐,類方法的第一個參數(shù)(建議用cls參數(shù))
@staticmethod 裝飾的是靜態(tài)方法


類方法與靜態(tài)方法

3. @函數(shù)裝飾器

示例

當(dāng)程序使用“@函數(shù)”(比如函數(shù)A)裝飾另一個函數(shù)(比如函數(shù)B),實際上完成以下兩步:

  1. 將被裝飾的函數(shù)(函數(shù)B)作為參數(shù)傳給@符號引用的函數(shù)(函數(shù)A)
  2. 將函數(shù)B替換(裝飾)成第1步返回的結(jié)果

可以看出被裝飾的函數(shù)驶悟,不再是原來的函數(shù)胡野,而是替換成一個新的東西。

示例2

上面定義了一個裝飾器函數(shù)foo痕鳍,執(zhí)行完返回的不是普通值硫豆,而是bar函數(shù),這意味著被@foo修飾的函數(shù)最終都會被替換成bar函數(shù)笼呆。上面程序使用@foo裝飾my_test熊响,因此程序會執(zhí)行foo(my_test),并將my_test替換成foo()函數(shù)的返回值:bar函數(shù)。程序會兩次調(diào)用my_test()函數(shù)抄邀,其實是調(diào)用bar()函數(shù)

4. 類命名空間

3. 成員變量

1. 類變量和實例變量

類變量
實例變量

2. 使用property函數(shù)定義屬性

propetty(fegt=None,fset=None,fdel=None,doc=None)

4. 隱藏和封裝

python并不能真正的支持封裝
只要將Python類的成員命名為以雙下劃線開頭的耘眨,python就會將他們隱藏起來

5. 類的繼承

1. 單繼承

class SubClass(superClass1, superClass2, ...):
    # 類定義部分
類的繼承

2. 多繼承

雖然在語法上明確支持多繼承昼榛,但通產(chǎn)推薦境肾,如果不是很有必要,盡量不要使用多繼承胆屿,避免很多麻煩
當(dāng)一個子類有很多個直接父類時奥喻,該子類會繼承得到所有父類的方法。如果多個父類有同名的方法非迹,排在前面的父類中的方法會”遮蔽“在后面的父類中的同名方法环鲤。

3. 重寫父類的方法

重寫父類的方法

4. 使用未綁定方法調(diào)用被重寫的方法

使用未綁定方法調(diào)用被重寫的方法

5. 使用super函數(shù)調(diào)用父類的構(gòu)造方法

排在前面的父類的同名方法會遮蔽后面父類的同名方法


沒有使用super函數(shù)
使用super函數(shù)

6. Pthon的動態(tài)性

1. 動態(tài)屬性與slots

2. 使用type()函數(shù)定義類

3. 使用metaclass

7. 多態(tài)

8. 枚舉類

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市憎兽,隨后出現(xiàn)的幾起案子冷离,更是在濱河造成了極大的恐慌,老刑警劉巖纯命,帶你破解...
    沈念sama閱讀 216,591評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件西剥,死亡現(xiàn)場離奇詭異,居然都是意外死亡亿汞,警方通過查閱死者的電腦和手機(jī)瞭空,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人咆畏,你說我怎么就攤上這事南捂。” “怎么了旧找?”我有些...
    開封第一講書人閱讀 162,823評論 0 353
  • 文/不壞的土叔 我叫張陵溺健,是天一觀的道長。 經(jīng)常有香客問我钦讳,道長矿瘦,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,204評論 1 292
  • 正文 為了忘掉前任愿卒,我火速辦了婚禮缚去,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘琼开。我一直安慰自己易结,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,228評論 6 388
  • 文/花漫 我一把揭開白布柜候。 她就那樣靜靜地躺著搞动,像睡著了一般。 火紅的嫁衣襯著肌膚如雪渣刷。 梳的紋絲不亂的頭發(fā)上鹦肿,一...
    開封第一講書人閱讀 51,190評論 1 299
  • 那天,我揣著相機(jī)與錄音辅柴,去河邊找鬼箩溃。 笑死,一個胖子當(dāng)著我的面吹牛碌嘀,可吹牛的內(nèi)容都是我干的涣旨。 我是一名探鬼主播,決...
    沈念sama閱讀 40,078評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼股冗,長吁一口氣:“原來是場噩夢啊……” “哼霹陡!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起止状,我...
    開封第一講書人閱讀 38,923評論 0 274
  • 序言:老撾萬榮一對情侶失蹤烹棉,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后怯疤,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體浆洗,經(jīng)...
    沈念sama閱讀 45,334評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,550評論 2 333
  • 正文 我和宋清朗相戀三年旅薄,在試婚紗的時候發(fā)現(xiàn)自己被綠了辅髓。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片泣崩。...
    茶點故事閱讀 39,727評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖洛口,靈堂內(nèi)的尸體忽然破棺而出矫付,到底是詐尸還是另有隱情,我是刑警寧澤第焰,帶...
    沈念sama閱讀 35,428評論 5 343
  • 正文 年R本政府宣布买优,位于F島的核電站,受9級特大地震影響挺举,放射性物質(zhì)發(fā)生泄漏杀赢。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,022評論 3 326
  • 文/蒙蒙 一湘纵、第九天 我趴在偏房一處隱蔽的房頂上張望脂崔。 院中可真熱鬧,春花似錦梧喷、人聲如沸砌左。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽汇歹。三九已至,卻和暖如春偿凭,著一層夾襖步出監(jiān)牢的瞬間产弹,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評論 1 269
  • 我被黑心中介騙來泰國打工弯囊, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留痰哨,地道東北人。 一個月前我還...
    沈念sama閱讀 47,734評論 2 368
  • 正文 我出身青樓常挚,卻偏偏與公主長得像作谭,于是被迫代替她去往敵國和親稽物。 傳聞我的和親對象是個殘疾皇子奄毡,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,619評論 2 354

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