Python基礎之物件導向與檔案

2021-09-02 01:26:30 字數 3445 閱讀 8665

class:

定義類
_ _init__():

初始化物件  例項方法    _ _init__()是在建立物件後,就立刻被預設呼叫
_ _del__():

刪除乙個物件,每次呼叫減1
_ _str__():

轉為字串格式,需要print輸出
_ _new__():

建立物件    靜態方法     _ _new__(cls, *args, **kwargs):
_ _mro__:

可以檢視子類c的物件搜尋方法時的先後順序    c._ _mro__
_ _slots__():

限制目的,對子類不起作用
_ _name__:

如果放在modules模組中,表示是模組的名字

​如果放在classs類中,表示類的名字

_ _name__:表示模組,類等的名字;

_ _main__:模組,***.py檔案本身:

作為模組,被別的python程式匯入(import)時,模組名就是本身檔名***了

_ _***__():

魔方方法
str():

將用於將值轉換為字串適合人的閱讀形式
repr():

供直譯器來閱讀 eval()逆轉
@classmethod:

類方法 cls
@staticmethod:

靜態方法    不需要傳遞引數
hasattr():

檢測某乙個屬性是否存在,true  false
type(name,bases,dict):

name:類名

bases:由父類名稱所組成的元祖(繼承)

dict:包含屬性和方法(名稱和值)

​屬性為類屬性

type 和 object 的關係:相互依存

types:

為物件新增例項方法

​例項物件.例項方法=types.methodtype(例項方法,例項物件)

_ _***:

定義私有屬性
open(file,mode):

file--->檔名

mode--->訪問模式

​r 以唯讀方式開啟檔案。檔案的指標將會放在檔案的開頭。這是預設模式。

​w 開啟乙個檔案只用於寫入。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。

a 開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。

rb 以二進位制格式開啟乙個檔案用於唯讀。檔案指標將會放在檔案的開頭。這是預設模式。

wb 以二進位制格式開啟乙個檔案只用於寫入。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。

ab 以二進位制格式開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。

r+ 開啟乙個檔案用於讀寫。檔案指標將會放在檔案的開頭。

w+ 開啟乙個檔案用於讀寫。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。

a+ 開啟乙個檔案用於讀寫。如果該檔案已存在,檔案指標將會放在檔案的結尾。檔案開啟時會是追加模式。如果該檔案不存在,建立新檔案用於讀寫。

rb+ 以二進位制格式開啟乙個檔案用於讀寫。檔案指標將會放在檔案的開頭。

wb+ 以二進位制格式開啟乙個檔案用於讀寫。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。

ab+ 以二進位制格式開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。如果該檔案不存在,建立新檔案用於讀寫。

close():

檔案的關閉
write():

向檔案中寫入資料
writerow:

read(num) num---->數值,表示要從檔案中讀取資料的長度(單位位元組),如果不傳引數表明讀取檔案中所有的資料,如果多次執行讀操作,那麼後面讀取的資料是從上一次讀完後的位置開始

readline():

每一次讀取一行資料,返回字串格式
readlines():

讀取所有資料,返回列**式
tell():

獲取當前讀寫的位置
seek():

定義位置

​seek(offset,whence)

offset:偏移量

whence:方向

0:檔案的開頭位置 1:表示當前的位置 2:表示檔案的末尾

rename():

檔案重新命名   rename(需要修改的檔名,新的檔名)
remove():

檔案刪除     remove(待刪除的檔名)     

​remove()刪除首個符合條件的元素

​del 根據索引刪除

​pop()移除列表的乙個元素,預設最後乙個

mkdir(path):

建立資料夾   path檔名
getcwd():

獲取當前的目錄     os.getcwd()
listdir():

獲取當前目錄中的檔案列表
rmdir(str):

刪除資料夾   str---->需要刪除資料夾的名稱

​刪除目錄(要求必須是空目錄)

stringio(str):(記憶體中)

str:寫入內容 	getvalue()方法用於獲得寫入後的str  f.getvalue()
bytesio():(記憶體中)

f = bytesio()

f.write('中文'.encode('utf-8')) (寫入的不是str,而是經過utf-8編碼的bytes)

print(f.getvalue())

try...except:

捕獲異常

把可能出現問題的**,放在try中

把異常處理的**放入except中 (元祖方式儲存)

as:

獲取異常資訊 	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...