python學習筆記

2021-07-26 14:56:50 字數 2352 閱讀 1475

靜態方法

定義方法:

(1)@staticmethod裝飾  (2)引數不用self

訪問特性:

(1)不能引用或訪問例項屬性 (2) 可以通過類、類變數訪問類屬性

呼叫方法:

可以用類、類例項呼叫

本質:在類中的乙個普通函式而已 使物件導向程式中函式歸屬於類,易於**管理

用法:(1)與類相關,但不依賴或改變類與例項 建立不同的例項  (2)把類相關工具方法放入類中

類方法

定義方法:

(1) @classmethod  (2)必須提供引數cls

訪問特性:

不能引用或訪問例項屬性

呼叫方法:可以用類、例項呼叫

繼承特性: 繼承時,傳入的類變數cls是子類,而非父類

用途:(1)與類相關,但不依賴或改變類的例項 工廠方法,創類例項完成有關預處理 

(2)在類內呼叫靜態方法時不用硬編碼類名

例項屬性

類屬性

類定義後就存在,而且不需要例項化

類屬性使得相同類的不同例項共同持有相同變數

私有屬性

不提供限制屬性訪問的關鍵字(無法限制類的各種屬性在類外直接訪問)

使用__開頭的變數名加以標誌,只有類物件自己能訪問

使用_開頭的變數名加以標誌,應該只有類物件及其子類能訪問(非強制性)

特殊屬性

儲存物件的元資料

__doc__

__name__

__dict__

__module__

__base__

屬性訪問的特殊方法(反射)

主要工具函式

hasattr(obj_name,'屬性名')

setattr(obj_name,'屬性名','值')

getattr(obj_name,'屬性名')

屬性包裝

三種屬性操作

(1)可讀@property

(2)可寫@.setter

(3)可刪@.delete

描述符

將實現特殊協議方法的類作為另乙個類的類屬性

用來攔截和控制屬性訪問並可以重複使用

協議方法

__get__()

__set__()

__delete__()

資料描述符(實現全部協議方法)

非資料描述符(實現部分協議方法)說明:所有類成員函式都是非資料描述符

注意:只能在新式類中使用

__call__()讓類的實例如函式一樣可呼叫

類也是乙個物件,但是具有建立其自身例項的能力

類可以和乙個變數進行繫結

可以為類增加屬性

可以把它作為函式的引數傳遞

元類

類的建立和管理者

所有的類是元類的例項

類例項化過程

自定義元類

目的:對其建立的類進行預處理

繼承type

定義__new__()方法

還可以定義__init__()方法

應用元類

類繼承中提供關鍵字引數:metaclass=元類名

構造序列

__len__(self)

__getitem__(self,key)

__setitem__(self,key,value)

__delitem__(self,key)

構造iter

__iter__(self)

__next__(self)

構造可比較類

__lt__()

__le__()

__gt__()

__ge__()

__eq__()

__ne__()

構造可運算類

__add__()

__sub__()

__mul__()

__div__()

python教學筆記 python學習筆記(一)

1.eval 函式 eval是單詞evaluate的縮寫,就是 求.的值的意思。eval 函式的作用是把str轉換成list,dict,tuple.li 1 1,2,3 print eval li 1 di 1 print eval di 1 tu 1 2,4,6 print eval tu 1 執...

python學習筆記

coding utf 8 coding utf 8 應該像八股文一樣在每個指令碼的頭部宣告,這是個忠告 為了解決中文相容問題,同時你應該選擇支援 unicode 編碼的編輯器環境,保證在執行指令碼中的每個漢字都是使用 utf 8 編碼過的。cdays 5 exercise 3.py 求0 100之間...

Python 學習筆記

python 學習筆記 def run print running.def execute method method execute run result running.condition false test yes,is true if condition else no,is false ...