Python面向對象跟Java的面向對象大同小異,這篇我們簡(jiǎn)單介紹一下Python面向對象。以下是小編為你整理的怎么學(xué)習python框架 ?
類(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 ?
os模塊
os模塊用于提供跨操作系統的、可以移植的操作,可以執行基本上所有的linux命令,可以說(shuō)是python最常用的模塊之一。 ?
下面開(kāi)始介紹這個(gè)模塊里常用的功能。如果你想直到當前的操作系統平臺可以這樣使用(命令行模式演示,腳本方式類(lèi)似)。 ?
import os print os.name 如果你用windows系統,就會(huì )使出nt,同理linux、unix系統就會(huì )輸出posix。 ?
如果想利用os模塊得到當前工作目錄,類(lèi)似于shell里的pwd的話(huà),可以用os.getpwd()函數,顯示的是當前python腳本的目錄路徑。 ?
如果想返回指定目錄下的所有文件和目錄名,用os.listdir()函數即可獲得。 ?
這里我使用 print os.listdir(os.getcwd()) 先獲得當前目錄再獲得當前目錄下的所有文件。 ?
接下來(lái)演示一下os.remove來(lái)刪除一個(gè)文件。先touch新建一個(gè)abc,ls顯示出來(lái),在命令行里執行os.remove('abc')刪除 ?
接下來(lái)介紹os.system()這個(gè)函數,可以用來(lái)執行操作系統的shell命令。os.sep用來(lái)顯示系統的分隔符,os.linesep用來(lái)顯示系統的換行符Windows使用'rn',Linux使用'n'而Mac使用'r'。