Python之路----------内置函数
1、abs(x)絕對值
1 #coding=utf-8 2 a = 1 3 b = -2 4 print(abs(a)) 5 print(abs(b))?
2、all(iterable)可迭代對象里面所有內容為真返回真,空列表返回真
1 #非0就是真 2 l = [1, 2, 3, 4, 5, 6, -1, -2, 'a'] 3 print(all(l))#True 4 l = [1, 2, 3, 4, 5, 6, 0, -2, 'a'] 5 print(all(l))#False 6 l = [] 7 print(all(l))#True?
3、any(iterable)可迭代對象里面任意數據為真返回真,空列表返回假
1 #非0就是真 2 l = [1, 2, 3, 4, 5, 6, -1, -2, 'a'] 3 print(any(l))#True 4 l = [1, 2, 3, 4, 5, 6, 0, -2, 'a'] 5 print(any(l))#True 6 l = [] 7 print(any(l))#False?
4、ascii(object)把內存的對象變成可打印的字符對象(貌似沒有什么用)
1 l = [1, 2, 3, 4, 5, 6, 0, -2, 'a'] 2 a = ascii(l) 3 print(type(a), [a]) 4 5 #運行結果: 6 ''' 7 <class 'str'> ["[1, 2, 3, 4, 5, 6, 0, -2, 'a']"] 8 '''?
5、bin( X)十進制數字轉二進制
1 print(bin(1)) 2 # 0b1 3 print(bin(2)) 4 # 0b10 5 print(bin(3)) 6 # 0b11 7 print(bin(4)) 8 # 0b100 9 print(bin(5)) 10 # 0b101 11 print(bin(6)) 12 # 0b110 13 print(bin(7)) 14 # 0b111 15 print(bin(8)) 16 # 0b1000 17 print(bin(9)) 18 # 0b1001 19 print(bin(10)) 20 # 0b1010 21 print(bin(11)) 22 # 0b1011 23 print(bin(12)) 24 # 0b1100?
6、bool()判斷對象真假
1 print(bool(0)) # False 2 3 print(bool(1)) # True 4 5 print(bool([])) # False 6 7 print(bool([1])) # True 8 9 print(bool({})) # False 10 11 print(bool({1: 2})) # True?
7、bytearray()可修改二進制的字符串,很少用到
1 a = bytes('baidu', encoding='utf-8') 2 print(a.capitalize(), a)#字符串a沒有被修改 3 b = bytearray('baidu', encoding='utf-8') 4 print(b[0]) 5 b[0] = 100 6 print(b)#字符串b被修改?
8、callable()判斷可不可以調用
1 print(callable([])) 2 3 def call(): 4 pass 5 6 print(callable(call)) 7 8 #列表不可以調用Flase,函數可以調用True?
9、 chr(i)輸入數字返回對應的ascii碼的內容
1 print(chr(21016)) 2 3 print(chr(24191)) 4 5 print(chr(20449))?
10、ord(c)輸入字符返回對應的ascii碼的數字
1 print(ord('劉')) 2 3 print(ord('廣')) 4 5 print(ord('信'))?
11、dir()查看內置方法
?
1 a = [] 2 print(dir(a))?
?
12、filter()過濾數據用的
?
1 res = filter(lambda n: n < 5, range(10)) 2 for i in res: 3 print(i)?
?
13、map()處理數據用的
1 res = map(lambda n: n*2, range(10)) 2 for i in res: 3 print(i)?
?
14、reduce()
?
1 import functools 2 res = functools.reduce(lambda x, y: x+y, [x * (1 if x % 2 == 0 else -1) for x in range(2, 101, 1)]) 3 print(res)?
?
15、reduce()
reduce把一個函數作用在一個序列[x1, x2, x3...]上,這個函數必須接收兩個參數,reduce把結果繼續和序列的下一個元素做累積計算,其效果就是:
?reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)
比方說對一個序列求和,就可以用reduce實現:
1 import functools 2 def add(x, y): 3 return x + y 4 functools.reduce(add, [1, 3, 5, 7, 9])當然求和運算可以直接用Python內建函數sum(),沒必要動用reduce。
但是如果要把序列[1, 3, 5, 7, 9]變換成整數13579,reduce就可以派上用場:
1 import functools 2 def fn(x, y): 3 return x * 10 + y 4 functools.reduce(fn, [1, 3, 5, 7, 9])可以寫一個稍微復雜一點的reduce,計算數字列表的和
1 import functools 2 res = functools.reduce(lambda x, y: x+y, [x * (1 if x % 2 == 0 else -1) for x in range(2, 101, 1)]) 3 print(res)16、oct()轉8進制
?
1 print(oct(1)) 2 print(oct(3)) 3 print(oct(5)) 4 print(oct(7)) 5 print(oct(8)) 6 print(oct(9)) 7 print(oct(10))?
17、pow(x,y)返回x的y次冪
?
1 print(pow(2, 8)) 2 #256 計算2的8次方 3 print(pow(2, 8, 3)) 4 #256 計算 2**8 % 3 5 print(2**8 % 3)?
18、round(number,ndigits)給定一個數字number,ndigits是他要保留的小數位數,四舍五入,看例子
?
1 print(round(3.1592653)) 2 # 3 3 print(round(3.1592653, 2)) 4 # 3.16 5 print(round(3.1592653, 3)) 6 # 3.159?
19、sorted(*args, **kwargs)排序
1 a = {1: 0, -99: 9, 100: -10, 38: 7} 2 print(a)#直接打印列表 3 # {1: 0, 100: -10, -99: 9, 38: 7} 4 print(sorted(a)) #字典的key排序 5 # [-99, 1, 38, 100] 6 print(sorted(a.items())) #字典的key value排序 7 # [(-99, 9), (1, 0), (38, 7), (100, -10)] 8 print(sorted(a.items(), key=lambda x: x[1])) #按照value的值排序 9 # [(100, -10), (1, 0), (38, 7), (-99, 9)]?
?20、zip(*args, **kwargs)接受任意多個(包括0個和1個)序列作為參數,返回一個tuple列表。
1 a = [1, 2, 3, 4, 5, 6, 7] 2 b = ['a', 'b', 'c', 'd', 'e'] 3 for i in zip(a, b): 4 print(i)?
轉載于:https://www.cnblogs.com/python1023/p/6220552.html
總結
以上是生活随笔為你收集整理的Python之路----------内置函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 放假之前
- 下一篇: python zipfile 文件压缩和