Python面向?qū)ο蟾鶭ava的面向?qū)ο蟠笸‘?,這篇我們簡(jiǎn)單介紹一下Python面向?qū)ο蟆R韵率切【帪槟阏淼膒ython設(shè)計(jì)入門(mén)教程 ?
類(lèi)(class)是通俗的說(shuō)就是事物的屬性和行為的抽象。下面我們定義個(gè)動(dòng)物類(lèi),名稱(chēng)和體重是動(dòng)物屬性,動(dòng)物的叫是動(dòng)物行為(方法)。然后獲取類(lèi)的實(shí)例。 ?
上面的代碼有幾個(gè)點(diǎn)需要說(shuō)明一下: ?
(1) self: self是個(gè)形式參數(shù),代表本類(lèi)的實(shí)例(類(lèi)似于Java的this關(guān)鍵字)通過(guò)self可以調(diào)用本類(lèi)的屬性和方法。 ?
(2) __init__(self):初始化方法,類(lèi)似java的構(gòu)造方法 ?
(3) shout(self): 類(lèi)方法和普通方法的區(qū)別是類(lèi)方法必須帶一個(gè)名稱(chēng)為self的參數(shù)
?
創(chuàng)建對(duì)象python中沒(méi)有new關(guān)鍵字,直接通過(guò)方法名參數(shù)列表,跟調(diào)用普通方法沒(méi)什么區(qū)別。 ?
訪(fǎng)問(wèn)和賦值類(lèi)的屬性 ?
(1) 通過(guò)“.”類(lèi)訪(fǎng)問(wèn)對(duì)象的屬性和行為 ?
(2) getattr(obj, name[, default]) : 訪(fǎng)問(wèn)對(duì)象的屬性。 ?
(3) 通過(guò)“=”號(hào)賦值 ?
(4)setattr(obj,name,value) : 賦值對(duì)象屬性,如果屬性不存在,會(huì)創(chuàng)建一個(gè)新屬性。 ?
類(lèi)的方法: ?
(1) 實(shí)例方法:*個(gè)參數(shù)self,通過(guò)實(shí)例來(lái)訪(fǎng)問(wèn) ?
(2) 類(lèi)方法:*個(gè)參數(shù)cls代表當(dāng)前的類(lèi),classmethod() 來(lái)創(chuàng)建類(lèi)方法。類(lèi)名和實(shí)例都可以訪(fǎng)問(wèn)。 ?
(3) 靜態(tài)方法:其實(shí)跟普通方法差不多,沒(méi)有默認(rèn)參數(shù),類(lèi)名和實(shí)例都可以調(diào)用。 ?
int對(duì)象的創(chuàng)建方法
int對(duì)象的創(chuàng)建方法 ?
1.通過(guò)內(nèi)置語(yǔ)法規(guī)則創(chuàng)建 ?
和我們平時(shí)看見(jiàn)的整數(shù)一樣。 ?
2.通過(guò)int函數(shù)創(chuàng)建 ?
int函數(shù)是Python的內(nèi)置函數(shù),可以從字符串、浮點(diǎn)數(shù)(小數(shù))等對(duì)象創(chuàng)建整數(shù)。 ?
當(dāng)然,如果使用不當(dāng),傳入的字符串中不是整數(shù),或者傳入了不恰當(dāng)?shù)念?lèi)型,就會(huì)引發(fā)錯(cuò)誤。 ?
我們可以看見(jiàn),int函數(shù)要求傳入一個(gè)數(shù)或者一個(gè)字符串。 ?
常用的int對(duì)象操作運(yùn)算 ?
1.加減法 ?
加減法的運(yùn)算與數(shù)學(xué)中相同,對(duì)于我們來(lái)說(shuō),大數(shù)字運(yùn)算中它們會(huì)提供更大便利。Python是比較高級(jí)的語(yǔ)言,所以支持負(fù)數(shù)運(yùn)算。 ?
Python中乘法用“*”表示,運(yùn)算規(guī)則一樣。 ?
設(shè)定一個(gè)列表
比如:a = [123,456,789],b = 123,b in a (結(jié)果True) ?
解析:b是否被a包含 ?
把b改為一個(gè)其他的數(shù)值,比如b = 1234 ?
然后b in a,結(jié)果是False,因?yàn)閍里面找不到b所指向的對(duì)象(1234) ?
需要注意,in后面的對(duì)象必須是元組、列表這些集合類(lèi)型的對(duì)象 ?
但是in前面的對(duì)象可以是任何類(lèi)型的對(duì)象,如圖2 ?
對(duì)于字符串 ?
比如:a = 'abcd','c' in a (結(jié)果True) ?
in還常用于循環(huán)
?
比如:a = [123,456,789] ?
for x in a: ?
print(x) ?
注:循環(huán)后面會(huì)詳細(xì)講(可以關(guān)注下,還有其他Python相關(guān)經(jīng)驗(yàn)) ?
not in ?
與in剛剛好相反,in是False的話(huà),not in就是True ?
編程的學(xué)習(xí)方法
利用網(wǎng)路搜索一些精選高效的python視頻,例如百度文庫(kù)中的一些視頻(截圖如下)。 ?
注意:選擇你喜歡的感覺(jué)對(duì)你幫助會(huì)很大的視頻,可以通過(guò)一些網(wǎng)友的推薦來(lái)進(jìn)行選擇以保證視頻的更高價(jià)值。 ?
利用網(wǎng)路搜索一些精簡(jiǎn)扼要的python文檔(或者書(shū)籍)輔助自己先前所看過(guò)的視頻,以便于讓自己更好地消化吸收;此類(lèi)資料*是跟你所選擇的視頻對(duì)應(yīng)或者配套的,這樣主要是為了讓自己兩面一致,反復(fù)學(xué)習(xí)減少些許枯燥感。 ?
注意:文檔*是一些精益求精之類(lèi)的,如果實(shí)在找不到,那么也要次之;切不可隨便信手拾起一些沒(méi)有多少價(jià)值的文檔,那樣只是浪費(fèi)時(shí)間而已。 ?
利用網(wǎng)路搜索一些高價(jià)值的論壇。論壇上面有很多適合新手或者老手們的資料,而且很多牛人都喜歡在上面表達(dá)一些自己的觀點(diǎn)等。這些內(nèi)容對(duì)學(xué)習(xí)python而言很有幫助。(百度python論壇會(huì)有很多,選擇適合自己的) ?
加入一些python交流群,可以讓你更快更方便的分享自己所學(xué)到的知識(shí);當(dāng)然,碰到什么疑問(wèn)什么的,可以通過(guò)交流群讓自己獲得解答(畢竟大家都是很喜歡相互分享交流的)
利用python官網(wǎng)。通過(guò)python官網(wǎng)來(lái)學(xué)習(xí)python,你可以了解原汁原味的知識(shí)(畢竟都是用英文寫(xiě)的,而且python也是*從外國(guó)傳進(jìn)來(lái)的嘛)