Python-内置函数
一、常用内置函数之一
help() #查看帮助文档 dir() #返回list,查看当前文件或对象的所有方法和变量名 vars() #返回dict,查看当前文件的所有变量名和对应的值,dir()的返回值是vars的key import #调用模块,在一个文件中多次调用同一个模块,该模块只会执行一次 reload() #在import之后,可强制再执行一次模块 type() #返回变量的数据类型 map() #map(function, iter),返回function(iter[i]),结果是一个map类型,可用list()转化 filter() #只返回函数值为True的参数 reduce() #累加 zip() #相当于求一个矩阵的逆,将列变成行 eval() #将字符串当成有效的表达式来求值并返回计算结果,或者将字符串转化为相应的对象 enumerate()#对于可迭代对象,返回每个元素的下标和对应元素
在一个文件中多次导入同一个模块,该模块只会执行一次
from imp import reload import file #导入file模块 import file #前面两个import只会执行一次file模块 reload(file) #再次执行file模块
map(function, iter),结果是map对象,可用list转化
1、当function的参数只有一个时,返回function( iter[i] )
2、当function的参数大于一个时,需要传入与参数相同个数的迭代器,返回function(iter1[i], iter2[i], ...)
def func1(x): return x**2 def func2(x, y, z): return x+y+z iter1 = [1,2,3] iter2 = (10,20,30) iter3 = iter([100,200,300]) a = map(func1, iter1) b = map(func2, iter1, iter2, iter3) #可迭代对象都可以作为入参
打印a、b的类型和元素:
>>> type(a)
<class 'map'>
>>> type(b)
<class 'map'>
>>> list(a)
[1, 4, 9]
>>> list(b)
[111, 222, 333]
filter(function, iter),结果是filter对象,可用list转化
>>> a = filter(lambda x:True if x>0 else False, [1,2,-1,0]) >>> print(list(a)) [1, 2]
reduce(function, iter), 每次取两个值作为入参,再将函数返回值作为下一次循环的其中一个入参
>>> from functools import reduce >>> b = reduce(lambda x, y: x+y, (1, 2, 3, 4)) >>> c = reduce(lambda x, y: x*y, [1, 2, 3, 4, 5]) >>> print(b,c) 10 120
zip(iter1,iter2, ...),结果是zip对象,可用list转化
>>> a = zip([1, 2, 3], [4, 5, 6], [7, 8, 9]) >>> print(list(a)) [(1, 4, 7), (2, 5, 8), (3, 6, 9)]
eval(str),将字符串当成有效的表达式来求值并返回计算结果,或者将字符串转化为相应的对象
>>> str1 = '10*2' >>> print(eval(str1)) 20 >>> str2 = '[1,2,3]' >>> a = eval(str2); print(a,type(a)) [1, 2, 3] <class 'list'> >>> str3 ="{1: 'A', 2: 'B'}" >>> b = eval(str3); print(b, type(b)) {1: 'A', 2: 'B'} <class 'dict'>
enumerate(iter, index =0),遍历可迭代对象,返回该对象的每一个元素下标及对应元素。 下标默认从0开始
>>> dict1 = {} >>> for k,v in enumerate(['a', 'b', 'c', 'd'], 2): dict1[k]=v
>>> print(dict1) {2: 'a', 3: 'b', 4: 'c', 5: 'd'}
二、常用内置函数之二
all() #入参为可迭代类型(如list,tuple,dict等),元素全部为真时,返回True;否则返回False any() #元素全部为假时,返回False;否则返回True
abs() #求绝对值 pow() #开N次方 sum() #求和 divmod()#参数分别为被除数、除数;返回一个元组,保存商和余数 max() #求最大值 min() #求最小值
len() #对容器类型的参数,len()返回元素个数;对字符串,返回占用的字节长度 chr() #ascii码转化为字符 ord() #字符转化为ascii码 hex() #16进制 bin() #2进制 oct() #8进制