我们知道,为了方便使用,python内置了一系列常用及关键的函数,如type()。下面将对这些函数进行逐一分析、解释。
Python内置函数表:
1. abs():返回绝对值。如abs(-1)= 1。
2.all():接收一个迭代器,如果迭代器里的所有元素都是True,那么返回True,否则False。
3.any():接收一个迭代器,如果迭代器里有一个元素是True,那么返回True,否则False。
4.ascii():调用对象的__repr__()方法,获得该方法的返回值。
5.bin()/oct()/hex():三个方法是将十进制数分别转换为2/8/16进制。
6.bool():测试一个对象是True还是False
7.bytes():如果想要将一个字符串转换成字节类型,就使用这个方法。例如:s = ‘张三’,m = bytes(s,encoding='utfo-8')
8.str():将字节类型/数值类型等转换成字符串类型,同样也可以指定编码方式。例如:str(byte对象,encoding='utf-8')
9.callable():判断对象是否可以被调用。如果某个类具有__call__方法,那它能被调用。 例如,def f1(): pass,那么callable(f1)等于True。
10.char():查看某个十进制数对应的ASCII字符,例如:char(99) = 'c'。它可以配合random.randint(1,65)随机数,生成随机字符,用于短信验证码制造。
11.ord():与char()相反,是查看某个ASCII字符对应的十进制数,例如,ord('A') = 65。
12.compile():将字符串编译成Python能识别或执行的代码。 也可以将文件读成字符串再编译。
s = "print('helloworld')" r = compile(s,"<string>","exec") print(r) 运行结果: <code object <module> at 0x000002094DF31930, file "<string>", line 1>
13.dir():显示当前对象所有可执行的方法。例如dir(a_dict)
14.help():返回对象的帮助文档。例如:help(str)
15.enumerate():枚举函数,在迭代对象的时候,额外提供一个序列号的输出。注意:enumerate(li,1)中的1表示从1开始序号,默认从0开始。
li = ['a','b','c'] for i,item in enumerate(li,1): print(i,'\t',item) 运行结果: 1 a 2 b 3 c
16.eval():将字符串直接解读并执行。例如:s = "6*8",s是一个字符串,d = eval(s), d的结果是48。
17.map():基本用法:data = map(函数,迭代器),将迭代器中的元素逐一代入函数中执行,然后将返回值逐一放入data形成一个map类型数据,然后可以用list()等方法将它转换成想要的类型。例如:
li = [1,2,3] data = map(lambda x :x*100,li) print(type(data)) data = list(data) print(data) 运行结果: <class 'map'> [100, 200, 300]
18.filter():过滤器,用法和map有点类似。在函数中设定过滤的条件,逐一循环迭代器中的元素,将返回值为True时的元素留下,形成一个filter类型数据。
def f1(x): if x > 3: return True else: return False li = [1,2,3,4,5] data = filter(f1,li) print(type(data)) print(list(data)) 运行结果: <class 'filter'> [4, 5]
filter与lambda表达式配合会使代码更简洁,例如:
li = [11,22,33,44,55] result = filter(lambda x: x>33,li) print(list(result)) 结果: [44, 55]
当然,用推导式也是不错的,例如:
li = [11,22,33,44,55] y = [a for a in li if a > 33] print(y) 结果: [44, 55]
19.format():执行format(对象),其实就是调用该对象所属类的__format__方法。
20.frozenset():制造一个不能增加,修改的集合类型。
21.globals():列出当前可用的所有的全局变量
22.hash():哈希值
23.int()/float()/str()/list()/dict()/set()/tuple():数据类型的转换
24.input():接收用户输入
25. id():返回对象的内存地址
26. locals():打印当前可用的局部变量
27. len():返回对象的长度
28. max()/min(): 取出给定元素里的最大或者最小的值
29. open():打开文件
30. pow():幂函数
31. range():制造一个数字区间,常用于循环、迭代、计数。例如:range(10) range(0,100)
32. repr():调用对象所属类的__repr__方法
33. reversed():反转,逆序对象
34. round():四舍五入
35. sorted():排序
36. sum():求和
37. supper():父类
38. type():显示对象所属的类型
39. var():与dir()方法类似,不过dir()方法返回的是key,var()方法返回key的同时还把value一起打印了。
40. zip():将对象逐一配对,例如:
list_1 = [1,2,3] list_2 = ['a','b','c'] s = zip(list_1,list_2) print(list(s)) 运行结果: [(1, 'a'), (2, 'b'), (3, 'c')]
41. exec():执行字符串或compile方法编译过得字符串,没有返回值。
42. delattr()/setattr()/getattr()/hasattr():待续
43. divmod():除法,同时返回商和余数的元组。n1,n2 = divemod(97,10) 结果:n1 = 9 ,n2 =7
44. isinstance():例如:isinstance(a,b),判断a是否是b类的实例。比type()方法适用面更广。
45. issubclass(): issubclass(a,b),判断a是否是b的子类。
46. slice():切片功能
未完待续.....