在學(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)用的常用方法列表。
2、使用內(nèi)置函數(shù)dir傳入標(biāo)識(shí)符/數(shù)據(jù)(變量名或函數(shù)名),可以查看對(duì)象內(nèi)的所有屬性及方法。
使用函數(shù)中的doc
demo.__doc
提示:方法名 (兩個(gè)下劃線開頭和結(jié)尾)格式的方法是Python提供的內(nèi)置方法/屬性,接下來(lái)會(huì)介紹一些常用的內(nèi)置方法/屬性。
提示:利用好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é)果:
在主程序中使用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)里瞅一瞅。