python3內置函數詳解

內置函數

註:查看詳細猛擊這裡

abs() 對傳入參數取絕對值

bool() 對傳入參數取布爾值, None, 0, "",[],{},() 這些參數傳入bool後,返回False

all() 所有傳入參數為真,才為真

any() 任何一個傳入參數為真,才為真

ascii() 自動執行傳入參數的_repr_方法(將對象轉換為字符串)

bin() 接收一個十進制,轉換成二進制

oct() 接收一個十進制,轉換成八進制

hex() 接收一個十進制,轉換成十六進制

bytes() 字符串轉換成位元組。第一個傳入參數是要轉換的字符串,第二個參數按什麼編碼轉換為位元組 eg. bytes(s,encoding = 'utf-8') , bytes(s,encoding = 'gbk')    1個位元組佔8位;utf-8編碼格式下,一個漢字佔3個位元組;gbk編碼格式下,一個漢字佔2個位元組

str() 位元組轉換成字符串。第一個傳入參數是要轉換的位元組,第二個參數是按什麼編碼轉換成字符串

chr(65)  # 數字轉字母,查看ASCII碼錶

ord('A')  # 字母轉數字,查看ASCII碼錶

compile()  # 接收.py文件或字符串作為傳入參數,將其編譯成python位元組碼

eval()    # 執行python代碼,並返回其執行結果。 e.g. eval("1+2+3")   eval("print(123)").   在接收用戶輸入時應避免使用eval,因為別有用心的用戶可能藉此注入惡意代碼

exec()    #執行python代碼(可以是編譯過的,也可以是未編譯的),沒有返回結果(返回None) e.g. exec(compile("print(123)","<string>","exec"))   exec("print(123)")

dir()  # 接收對象作為參數,返回該對象的所有屬性和方法

help()  # 接收對象作為參數,更詳細地返回該對象的所有屬性和方法

divmod(100,10)  # 返回一個元組(10,0),第一個元素的100/10的商,第二個元素的100/10的餘數 

enumerate()  # 接收序列化類型的數據,返回一個迭代器(對象). e.g. for i,item in enumerate(['one','two','three']): print(i,item)  打印1 'one' 換行2 'two'換行 3 'three'

isinstance(object, class)  # 判斷對象是否是某個類的實例. e.g. isinstance([1,2,3],list)

filter(函數或者lambda表達式,可迭代的對象)  # 對可迭代對象中的每一個元素,將其作為實參傳入函數(或lambda表達式),如果函數返回False,將該元素丟棄,如果函數返回True,將該元素添加到filter的返回值中。注意filter返回的是一個filter對象,實際應用中往往需要用list或tuple將其轉換為列表或元組類型. e.g. list(filter(lambda a:a>1,[1,2,3])) 返回[2,3]

map(函數或lambda表達式,可迭代的對象)  #對可迭代的每一個元素,將其作為實參傳入函數,將每一次調用函數返回的結果都添加到map的返回值中。e.g. tuple(map(lambda a:a+1,(1,2,3))) 返回(2,3,4)

format()  #字符串格式化

frozenset()  #轉換為不可變的集合

globals()  # 返回一個字典,包括所有的全局變量與它的值所組成的鍵值對

locals()  # 返回一個字典,包括所有的局部變量與它的值所組成的鍵值對

hash()  # 對傳入參數取哈希值並返回

id() # 返回內存地址,可用於查看兩個變量是否指向相同一塊內存地址

input('please input:')  # 提示用戶輸入,返回用戶輸入的內容(不論輸入什麼,都轉換成字符串類型)

issubclass(subclass,class) #查看這個類是否是另一個類的派生類,如果是返回True,否則返回False

len('string')  # 返回字符串長度,在python3中以字符為單位,在python2中以位元組為單位

max()  #接收序列化類型數據,返回其中值最大的元素

min()  # ….. 返回其中值最小的元素

memoryview()  # 查看內存地址

next() 

iter()  

object() 

pow(x,y)  # 求次方,返回x**y的結果

pow(x,y,z) # 返回 x**y%z 的結果

property()  # 獲取對象的所有屬性

range()  # 獲取隨機數或隨機字符 eg. range(10) 從0到10的隨機數

repr()  # 執行傳入對象中的_repr_方法

reversed()  #對序列化類型數據反向排序,返回一個新的對象。注意與對象的reverse方法區別,後者是就地改變對象

sorted() # 對序列化類型數據正向排序,返回一個新的對象。注意與對象的sort方法區別,後者是就地改變對象

slice()  #對序列化類型數據切片,返回一個新的對象。eg. slice(起始下標,終止下標,步長),步長默認為1

round()  # 返回四捨五入後的結果

int() #轉換為整型

list() # 轉換為列表類型

set()  # 轉換為集合類型

str() #轉換為字符串類型

tuple() # 轉換為元組類型

type() # 返回對象類型

staticmethod() # 返回靜態方法

super()  # 返回基類

vars() #返回當前模塊中的所有變量

zip() # 接收多個序列化類型的數據,對各序列化數據中的元素,按索引位置分類成一個個元組。

eg. myList = list(zip([1,2,3],['a','b','c'])) 創建myList列表[(1,'a'),(2,'b'),(3,'c')]    

mydic = dict(zip([1,2,3],['a','b','c'])) 創建mydic字典{1:'a',2:'b',3:'c'}

l1 = [1,2,3]

l2 = ['one','two','three']

list(zip(l1,l2))  返回[(1,'one'),(2,'two'),'(3,'three')]