Python面向對象跟Java的面向對象大同小異,這篇我們簡(jiǎn)單介紹一下Python面向對象。以下是小編為你整理的python基礎學(xué)習什么 ?
類(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è)形式參數,代表本類(lèi)的實(shí)例(類(lèi)似于Java的this關(guān)鍵字)通過(guò)self可以調用本類(lèi)的屬性和方法。 ?
(2) __init__(self):初始化方法,類(lèi)似java的構造方法 ?
(3) shout(self): 類(lèi)方法和普通方法的區別是類(lèi)方法必須帶一個(gè)名稱(chēng)為self的參數
創(chuàng )建對象python中沒(méi)有new關(guān)鍵字,直接通過(guò)方法名參數列表,跟調用普通方法沒(méi)什么區別。 ?
訪(fǎng)問(wèn)和賦值類(lèi)的屬性 ?
(1) 通過(guò)“.”類(lèi)訪(fǎng)問(wèn)對象的屬性和行為 ?
(2) getattr(obj, name[, default]) : 訪(fǎng)問(wèn)對象的屬性。 ?
(3) 通過(guò)“=”號賦值 ?
(4)setattr(obj,name,value) : 賦值對象屬性,如果屬性不存在,會(huì )創(chuàng )建一個(gè)新屬性。 ?
類(lèi)的方法: ?
(1) 實(shí)例方法:*個(gè)參數self,通過(guò)實(shí)例來(lái)訪(fǎng)問(wèn) ?
(2) 類(lèi)方法:*個(gè)參數cls代表當前的類(lèi),classmethod() 來(lái)創(chuàng )建類(lèi)方法。類(lèi)名和實(shí)例都可以訪(fǎng)問(wèn)。 ?
(3) 靜態(tài)方法:其實(shí)跟普通方法差不多,沒(méi)有默認參數,類(lèi)名和實(shí)例都可以調用。 ?
int對象的創(chuàng )建方法
int對象的創(chuàng )建方法 ?
1.通過(guò)內置語(yǔ)法規則創(chuàng )建 ?
和我們平時(shí)看見(jiàn)的整數一樣。 ?
2.通過(guò)int函數創(chuàng )建 ?
int函數是Python的內置函數,可以從字符串、浮點(diǎn)數(小數)等對象創(chuàng )建整數。 ?
當然,如果使用不當,傳入的字符串中不是整數,或者傳入了不恰當的類(lèi)型,就會(huì )引發(fā)錯誤。 ?
我們可以看見(jiàn),int函數要求傳入一個(gè)數或者一個(gè)字符串。 ?
常用的int對象操作運算 ?
1.加減法 ?
加減法的運算與數學(xué)中相同,對于我們來(lái)說(shuō),大數字運算中它們會(huì )提供更大便利。Python是比較高級的語(yǔ)言,所以支持負數運算。 ?
Python中乘法用“*”表示,運算規則一樣。 ?
設定一個(gè)列表
比如:a = [123,456,789],b = 123,b in a (結果True) ?
解析:b是否被a包含 ?
把b改為一個(gè)其他的數值,比如b = 1234 ?
然后b in a,結果是False,因為a里面找不到b所指向的對象(1234) ?
需要注意,in后面的對象必須是元組、列表這些集合類(lèi)型的對象 ?
但是in前面的對象可以是任何類(lèi)型的對象,如圖2 ?
對于字符串 ?
比如:a = 'abcd','c' in a (結果True) ?
in還常用于循環(huán)
?
比如:a = [123,456,789] ?
for x in a: ?
print(x) ?
注:循環(huán)后面會(huì )詳細講(可以關(guān)注下,還有其他Python相關(guān)經(jīng)驗) ?
not in ?
與in剛剛好相反,in是False的話(huà),not in就是True ?
如何下載并安裝python
在語(yǔ)言的選擇上,可以參考下近幾年主流語(yǔ)言的排名,看這個(gè)的主要目的是為了不要選一門(mén)很偏門(mén),或者是走在下坡路的開(kāi)發(fā)語(yǔ)言,雖然開(kāi)發(fā)的思路是一致的,但小白入門(mén)就走偏也很打擊人。 ?
第二點(diǎn)盡可能選擇一門(mén)與工作相關(guān)的語(yǔ)言,比如公司是作網(wǎng)站的,那可以選前端語(yǔ)言或者Java,如果自己是作運維工作的,可以考慮python,和工作完全無(wú)關(guān)的語(yǔ)言會(huì )事倍功半。 ?
接下來(lái)就進(jìn)入學(xué)習階段了,至少要有一本入門(mén)的編程書(shū),每個(gè)人的學(xué)習方法,思考方式都不盡相同,所以網(wǎng)上提問(wèn)未必有好效果,可以到書(shū)店自己挑,重點(diǎn)是書(shū)的學(xué)習風(fēng)格適用于自己。 ?
這里建議入門(mén)的書(shū)不建議太厚,也不建議講得面面俱到,非常詳細的手冊類(lèi)入門(mén)書(shū),比較容易帶來(lái)學(xué)習過(guò)程中的厭煩情緒。不過(guò)不要在入門(mén)書(shū)的挑選上花太多時(shí)間,條條大路通羅馬。 ?
每天抽至少半小時(shí)時(shí)間用于專(zhuān)項學(xué)習,現代人各位比較容易分心,這個(gè)時(shí)間說(shuō)起來(lái)很短,但要長(cháng)期堅持不容易,但只要能堅持下來(lái),半年到一年的時(shí)間,入門(mén)是肯定OK的。 ?
任何一門(mén)技術(shù)活都是離不開(kāi)練習的,很難想象一本書(shū)看完成,但代碼沒(méi)敲過(guò)幾行能夠入門(mén),所以必須堅持每天作練習,敲代碼,面試時(shí)候很多時(shí)候會(huì )被問(wèn)寫(xiě)過(guò)多少行代碼了。 ?
等一本書(shū)看完,上面所有例程都敲過(guò),課后的習題也都能獨立完成,那基本可以認為這門(mén)編程的語(yǔ)法全都掌握了,類(lèi)似于作文,能不能寫(xiě)出優(yōu)美的文章,后面要靠多看多練,再者就是拓寬思路。