class:
定義類_ _init__():
初始化物件 例項方法 _ _init__()是在建立物件後,就立刻被預設呼叫_ _del__():
刪除乙個物件,每次呼叫減1_ _str__():
轉為字串格式,需要print輸出_ _new__():
建立物件 靜態方法 _ _new__(cls, *args, **kwargs):_ _mro__:
可以檢視子類c的物件搜尋方法時的先後順序 c._ _mro___ _slots__():
限制目的,對子類不起作用_ _name__:
如果放在modules模組中,表示是模組的名字_ _name__:表示模組,類等的名字;如果放在classs類中,表示類的名字
_ _main__:模組,***.py檔案本身:
作為模組,被別的python程式匯入(import)時,模組名就是本身檔名***了
_ _***__():
魔方方法str():
將用於將值轉換為字串適合人的閱讀形式repr():
供直譯器來閱讀 eval()逆轉@classmethod:
類方法 cls@staticmethod:
靜態方法 不需要傳遞引數hasattr():
檢測某乙個屬性是否存在,true falsetype(name,bases,dict):
name:類名type 和 object 的關係:相互依存bases:由父類名稱所組成的元祖(繼承)
dict:包含屬性和方法(名稱和值)
屬性為類屬性
types:
為物件新增例項方法_ _***:例項物件.例項方法=types.methodtype(例項方法,例項物件)
定義私有屬性open(file,mode):
file--->檔名close():mode--->訪問模式
r 以唯讀方式開啟檔案。檔案的指標將會放在檔案的開頭。這是預設模式。
w 開啟乙個檔案只用於寫入。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。
a 開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。
rb 以二進位制格式開啟乙個檔案用於唯讀。檔案指標將會放在檔案的開頭。這是預設模式。
wb 以二進位制格式開啟乙個檔案只用於寫入。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。
ab 以二進位制格式開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。
r+ 開啟乙個檔案用於讀寫。檔案指標將會放在檔案的開頭。
w+ 開啟乙個檔案用於讀寫。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。
a+ 開啟乙個檔案用於讀寫。如果該檔案已存在,檔案指標將會放在檔案的結尾。檔案開啟時會是追加模式。如果該檔案不存在,建立新檔案用於讀寫。
rb+ 以二進位制格式開啟乙個檔案用於讀寫。檔案指標將會放在檔案的開頭。
wb+ 以二進位制格式開啟乙個檔案用於讀寫。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。
ab+ 以二進位制格式開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。如果該檔案不存在,建立新檔案用於讀寫。
檔案的關閉write():
向檔案中寫入資料writerow:
read(num) num---->數值,表示要從檔案中讀取資料的長度(單位位元組),如果不傳引數表明讀取檔案中所有的資料,如果多次執行讀操作,那麼後面讀取的資料是從上一次讀完後的位置開始
readline():
每一次讀取一行資料,返回字串格式readlines():
讀取所有資料,返回列**式tell():
獲取當前讀寫的位置seek():
定義位置0:檔案的開頭位置 1:表示當前的位置 2:表示檔案的末尾seek(offset,whence)
offset:偏移量
whence:方向
rename():
檔案重新命名 rename(需要修改的檔名,新的檔名)remove():
檔案刪除 remove(待刪除的檔名)mkdir(path):remove()刪除首個符合條件的元素
del 根據索引刪除
pop()移除列表的乙個元素,預設最後乙個
建立資料夾 path檔名getcwd():
獲取當前的目錄 os.getcwd()listdir():
獲取當前目錄中的檔案列表rmdir(str):
刪除資料夾 str---->需要刪除資料夾的名稱stringio(str):(記憶體中)刪除目錄(要求必須是空目錄)
str:寫入內容 getvalue()方法用於獲得寫入後的str f.getvalue()bytesio():(記憶體中)
f = bytesio()try...except:f.write('中文'.encode('utf-8')) (寫入的不是str,而是經過utf-8編碼的bytes)
print(f.getvalue())
捕獲異常as:把可能出現問題的**,放在try中
把異常處理的**放入except中 (元祖方式儲存)
獲取異常資訊 except 錯誤的型別 as 錯誤描述else:
try:except: 異常捕獲 else: 沒有異常:可能出現問題的**
try...finally:
finally後放入必須執行的操作自定義異常:
exception/error(必須繼承,父類)內部函式中對外部函式作用域中的變數的引用(非全域性變數),稱內部函式為閉包raise+需要引發的異常
def w1(func): def inner():
驗證1驗證2func()
return inner
Python之物件導向 物件導向基礎
一 面向過程 物件導向對比 1 面向過程 根據業務邏輯從上到下寫壘 2 函式式思想 將某功能 封裝到函式中,日後便無需重複編寫,僅呼叫函式即可 3 物件導向 對函式進行分類和封裝 1 2 3一步一步抽象,函式式是走向物件導向的中間步驟 函式式的應用場景 各個函式之間是獨立且無共用的資料 物件導向程式...
Python 基礎之物件導向
封裝繼承 類和型別 多型意味著就算不知道變數所引用的物件型別是什麼,還是能對它進行操作,而它也會根據物件 或者類 型別的不同而表現出不同的行為。程式得到了乙個物件,但是並不知道它是怎麼實現的 它可能有多種 形狀 繫結到物件特性上面的函式稱為方法 method 對於乙個變數x來說,我們不需要知道他是字...
Python 基礎之物件導向
python 是乙個高層次的結合了解釋性 編譯性 互動性和物件導向的指令碼語言。python 的設計具有很強的可讀性,相比其他語言經常使用英文關鍵字,其他語言的一些標點符號,它具有比其他語言更有特色語法結構。python 是一種解釋型語言 這意味著開發過程中沒有了編譯這個環節。類似於php和perl...