Python初学者必须掌握的25个内置函数详解 input()作用让用户从控制台输入一串字符按下回车后结束输入并返回字符串注意很多初学者以为它可以返回数字其实是错的1234567891011121314 lineinput(输入一个数字)输入一个数字1 line1# -- 看清楚了这个不是数字只是字符串# 如果你直接进行加法…… line1Traceback (most recent call last):Filestdin, line1,inmoduleTypeError: can only concatenatestr(notint) tostr# 正确方法先把 line 转换成数字int(line)12print()作用把参数转换成字符串后输出到控制台123456789print(hello,world)hello world# 很多人不知道参数之间还可以插入其他字符print(hello,world, sep~)hello~world# 甚至可以让每个参数霸占一行print(hello,world, sep\n)helloworldset()作用构造集合。一个常用的方法是把列表传入 set()再转成列表来实现列表的排重。12345set([1,2,3,3]){1,2,3}# 这样就实现了排重list(set([1,2,3,3]))[1,2,3]str()作用将对象转换成字符串。常用于字符串和数字的拼接。例如这样会报错1234My Score is: 100Traceback (most recent call last):Filestdin, line1,inmoduleTypeError: can only concatenatestr(notint) tostr所以要用 str 转换一下12My Score is: str(100)My Score is: 100chr(i)作用返回整数 i 所对应的字符常用于生成字母表。1234567chr(20013)中chr(97)a# 与 ord() 配合生成字母表 [chr(ord(a)i)foriinrange(26)][a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z]ord()作用返回字符在编码表中对应的十进制数值1234567ord(中)20013ord(a)97# 与 chr() 配合生成字母表 [chr(ord(a)i)foriinrange(26)][a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z]bool()作用 判断一个对象的布尔值返回 True 或 False123bool(1)Truebool(0)Falsebool([])False说明 这个函数在实际项目中很少用只是作为测试工具让初学者能了解各对象的布尔状态。int()作用 将任意进制的字符串转化为整数。12int(2)2int(1010,2)10# 2进制1010转化为整数10说明 传入第2个参数可指定参数1的进制类型。bin()作用 把整数转换成2进制的字符串12bin(2)0b10bin(10)0b1010说明 为啥字符串前面都有个 0b 因为这是标准的写法以 0b 开头表示接下来数字的是2进制。oct()作用 将10进制转换为8进制的字符串12oct(7)0o7oct(8)0o10hex()作用将10进制转换为16进制的字符串1234hex(11)0xbhex(16)0x10abs()作用取绝对值12abs(-1)1divmod()作用同时返回除法运算中的商和余数相当于一次运算同时得到 a//b 和 a% b 的结果。1234divmod(1,2)(0,1)divmod(4,3)(1,1)round()作用对一个浮点数进行四舍五入1234round(1.3333)1round(1.3333,2)# 2 表示保留2位小数1.33pow(x, y[, z])作用如果只填 x 和 y 参数则返回 x 的 y 次方。如果填了 z 参数则再取模相当于 pow(x, y) % z。12345678910pow(10,2)100# 相当于10**2100pow(10,2,3)1# 相当于10**2%31sum(iterable)作用对数组 iterable 的所有元素进行求和。12sum([1,2,3])6min(x, y, z, …)作用返回所有参数中的最小数12345min(1,2,3)1# 传入数组也可以min([1,2,3])1max(x, y, z, …)作用类似 min()返回所有参数中的最大数list()作用传入参数为空时创建列表传入参数不为空时将参数转换成列表12345678list()[]# 不为空时list(hello world)[h,e,l,l,o, ,w,o,r,l,d]# 传入字典试试list({a:1,b:2})[a,b]tuple()作用跟 list 几乎一模一样只不过 list 返回的是数组tuple 返回的是元组。dict()作用构造字典123456789# 方法1dict(a1, b2){a:1,b:2}# 方法2dict(zip([a,b], [1,2])){a:1,b:2}# 方法3dict([(a,1), (b,2)]){a:1,b:2}len()作用返回对象长度或元素个数123456len([1,2])2len({a:1,b:2})2len(hello)5reversed()作用反转列表。注意返回的不是列表是个迭代器。12345678910reversed([1,2,3])list_reverseiteratorobjectat0x1016190a0# 需要转换成 listlist(reversed([1,2,3]))[3,2,1]# 字符串也一样reversed(abc)reversedobjectat0x1015ffd90list(reversed(abc))[c,b,a]enumerate()作用用于遍历对象正常的遍历比如 for el in array 只能拿到元素不能拿到下标用 enumerate() 就可以。123456fori, elinenumerate(abc):...print(i, el)...0a1b2c这个下标怎么用呢比如可以用来反过来修改数组内的元素123456 alphabet[a,b,c]fori, elinenumerate(alphabet):... alphabet[i]el.upper()... alphabet[A,B,C]filter(func, iterable)作用过滤并返回符合条件的元素注意返回的是一个迭代器。12345 alphabet[a,b,c,E,F,G]filter(lambdae: e.isupper(), alphabet)filterobjectat0x1016190a0list(filter(lambdae: e.isupper(), alphabet))[E,F,G]