Python 「面向?qū)ο蠡菊Z(yǔ)法」(判斷對(duì)象的方法、定義類、示例)

在學(xué)基礎(chǔ)語(yǔ)法之前先學(xué)習(xí)一下python中的一個(gè)內(nèi)置函數(shù)dir。在python中對(duì)象幾乎是無(wú)處不在的,之前學(xué)習(xí)的變量、數(shù)據(jù)、函數(shù)都是對(duì)象。

一、驗(yàn)證是否是對(duì)象:

在python中可以使用以下兩個(gè)方法驗(yàn)證是否是對(duì)象:

1、在標(biāo)識(shí)符/數(shù)據(jù)(或變量名)后輸入一個(gè)點(diǎn).,然后按下一個(gè)TAB鍵,iPython會(huì)提示該對(duì)象能夠調(diào)用的常用方法列表。

圖片1.png

2、使用內(nèi)置函數(shù)dir傳入標(biāo)識(shí)符/數(shù)據(jù)(變量名或函數(shù)名)可以查看對(duì)象內(nèi)的所有屬性及方法。

圖片2.png

使用函數(shù)中的doc

demo.__doc
圖片3.png

提示:方法名 (兩個(gè)下劃線開頭和結(jié)尾)格式的方法是Python提供的內(nèi)置方法/屬性,接下來(lái)會(huì)介紹一些常用的內(nèi)置方法/屬性。

圖片4.png

提示:利用好dir()函數(shù),在學(xué)習(xí)時(shí)很多內(nèi)容就不需要死記硬背了。

提醒:安裝 ipython 之后,查看 PyCharm 設(shè)置,確保 Console 的通用設(shè)置 Use IPython if available 選項(xiàng)打勾。


二、定義簡(jiǎn)單的類(只包含方法)

面向?qū)ο笫歉蟮姆庋b,在一個(gè)類中封裝多個(gè)方法,這樣通過(guò)這個(gè)類創(chuàng)建出來(lái)的對(duì)象就可以直接調(diào)用這些方法。

2.1 定義只包含方法的類

在python中要定義一個(gè)只包含方法的類,語(yǔ)法格式如下:

class 類名:

    def 方法1(self, 參數(shù)列表):
        pass

    def 方法1(self, 參數(shù)列表):
        pass

方法的定義格式和之前學(xué)習(xí)過(guò)的函數(shù)幾乎一樣。區(qū)別:在于第一個(gè)參數(shù)必須是self,可以先記住就是這個(gè)格式,之后再介紹這個(gè)self。

注意: 類名的命格規(guī)則要符合大駝峰命名法。

2.2 創(chuàng)建對(duì)象

當(dāng)一個(gè)類定義完成之后,要是用這個(gè)類來(lái)創(chuàng)建對(duì)象,語(yǔ)法格式如下:

對(duì)象變量 = 類名()

2.3 第一個(gè)面向?qū)ο笱菥?/h1>

需求:小貓愛(ài)魚,小貓

分析:

1. 定義一個(gè)貓類 Cat

2. 定義兩個(gè)方法eat 和 drink

3. 按照需求,不需要定義屬性

示例代碼:

class Cat:

    def eat(self):
        print("小貓愛(ài)吃魚")

    def drink(self):
        print("小貓要喝水")

# 創(chuàng)建貓對(duì)象名字叫tom
tom = Cat()

# 調(diào)用對(duì)象的方法
tom.eat()
tom.drink()

執(zhí)行結(jié)果:

圖片6.png

在主程序中使用tom這個(gè)變量去接收一個(gè)Cat貓的對(duì)象,然后用tom這個(gè)變量來(lái)調(diào)用吃魚的和喝水的方法,至于吃魚的方法和喝水的方法是怎么實(shí)現(xiàn)的,主程序中就不關(guān)心了。

面向?qū)ο箝_發(fā)中很明顯的一個(gè)特點(diǎn),主程序中只負(fù)責(zé)讓對(duì)象去工作,而不再關(guān)心具體方法的內(nèi)部實(shí)現(xiàn),至于方法內(nèi)部的實(shí)現(xiàn)統(tǒng)統(tǒng)被封裝到了Cat貓這個(gè)類中。

面向?qū)ο笫菍W(xué)習(xí)Python中一個(gè)很難的部分,同樣也是一個(gè)很重要的知識(shí),以后去公司做項(xiàng)目必然會(huì)用到,希望在學(xué)習(xí)這反面的小白不要害怕,慢慢來(lái),一遍不懂就反復(fù)的查找資料理解,千萬(wàn)不要說(shuō)學(xué)到后面感覺(jué)太難就放棄了,這個(gè)骨頭不啃掉還怎么學(xué)習(xí)后面的知識(shí)呢。在python自學(xué)網(wǎng)里有幾十節(jié)面向?qū)ο蟮囊曨l教程,也有文字解說(shuō)文章。還包括其他教程比如django教程等等,感興趣的可以去網(wǎng)里瞅一瞅。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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