Python之路----------内置函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)
以上是关于Python之路----------内置函数的主要内容,如果未能解决你的问题,请参考以下文章