python3內置函數詳解
- 2020 年 1 月 3 日
- 筆記
內置函數

註:查看詳細猛擊這裡
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')]