天天看點

python中的常用内建屬性與内建函數

常用專有屬性常用專有屬性 說明 觸發方式
__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排序)