Python之路----------内置函数,,1、abs(x)绝对


1、abs(x)绝对值

1 #coding=utf-82 a = 13 b = -24 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))#True4 l = [1, 2, 3, 4, 5, 6, 0, -2, ‘a‘]5 print(all(l))#False6 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))#True4 l = [1, 2, 3, 4, 5, 6, 0, -2, ‘a‘]5 print(any(l))#True6 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 # 0b10111 print(bin(6))12 # 0b11013 print(bin(7))14 # 0b11115 print(bin(8))16 # 0b100017 print(bin(9))18 # 0b100119 print(bin(10))20 # 0b101021 print(bin(11))22 # 0b101123 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({}))  # False10 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] = 1006 print(b)#字符串b被修改

8、callable()判断可不可以调用

1 print(callable([]))2 3 def call():4     pass5 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 functools2 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 functools2 def add(x, y):3     return x + y4 functools.reduce(add, [1, 3, 5, 7, 9]) 

当然求和运算可以直接用Python内建函数sum(),没必要动用reduce。

但是如果要把序列[1, 3, 5, 7, 9]变换成整数13579,reduce就可以派上用场:

1 import functools2 def fn(x, y):3     return x * 10 + y4 functools.reduce(fn, [1, 3, 5, 7, 9])

可以写一个稍微复杂一点的reduce,计算数字列表的和

1 import functools2 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 % 35 print(2**8 % 3)

18、round(number,ndigits)给定一个数字number,ndigits是他要保留的小数位数,四舍五入,看例子

1 print(round(3.1592653))2 # 33 print(round(3.1592653, 2))4 # 3.165 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之路----------内置函数

评论关闭