常用專有屬性常用專有屬性 | 說明 | 觸發方式 |
__init__ | 構造初始化函數 | 建立執行個體後,指派時使用,在__new__後 |
__new__ | 生成執行個體所需屬性 | 建立執行個體時 |
__class__ | 執行個體所在的類 | 執行個體.__class__ |
__str__ | 執行個體字元串表示,可讀性 | Print(類執行個體)如沒實作,使用repr結果 |
__repr__ | 執行個體字元串表示,準确性 | 類執行個體 回車 或者print(repr(類執行個體)) |
__del__ | 析構 | Del删除執行個體 |
__dict__ | 執行個體自定義屬性 | Vars(執行個體,__dict__) |
__doc__ | 類文檔,子類不能繼承 | Help(類或執行個體) |
__getattribute__ | 屬性通路攔截器 | 通路執行個體屬性時 |
__bases__ | 類的所有父類構成元素 | 類名.__bases__ |
内建函數
1:range與xrange
range在python2中直接建立清單,python3中用意味着使用時在建立,
range(start, stop, step)傳回一個遞增或遞減的數字清單,清單的元素值由三個參數決定:
start表示清單開始的值,可省,預設為“0”
stop表示清單結束的值,該參數不可缺少
參數step表示步長,可省,預設值為“1”
range傳回的是一個清單,一次性計算并傳回所有的值
xrange是一個類,傳回的是一個生成器:
生成器是一個可疊代對象,在對生成器進行疊代時,元素是逐個被建立的
使用xrange()進行周遊,每次周遊隻傳回一個值
一般來看,在對大序列進行疊代的時候,因為xrange的特性,是以它會比較節約記憶體
是以,xrange的執行效率要高于range
但在python3中,py2的range功能被移除,xrange功能保留并且改名為range
2:map函數 map函數會根據提供的函數對指定的序列做映射
map(…)
map(function,sequence[,sequence,….])->list
function是一個函數
sequence:是一個或多個序列,取決于function需要的幾個參數,為可疊代對象
傳回值是一個list
#函數需要有個參數。例如:
Map(lambda x: x*x,[1,4,6]) 結果為:[1,16,36]
Map(lambda x,y: x+y,[1,2,3],[2,3,4])結果為:[3,5,7]
3: filter函數:進行清洗操作
filter函數 :對指定序列執行過濾操作 filter(function or None,sequence)->list,tuple,or string
function接受一個參數,傳回布爾值True或者False sequence序列可以是str,tuple,list
filter函數會對序列的參數sequence中的每個元素調用function函數,最後傳回的結果包含調用結果為True的元素 傳回值的類型和參數sequence的類型相同
filter(lambda x: x%2,[1,2,3,4]) [1,3] 當結果為True才傳回該值
filter(None,”she”) ‘she’
4:reduce函數:實作累加功能
reduce函數 :對參數序列中元素進行累計 在python2中可以 python3不适用
reduce(function,sequence[sequcene …..])
reduce(lambda x,t:x+y,[2,3,4]) 傳回10(累加功能)
5: sorted函數 對可疊代對象進行排序(按照ascii排序)