Python高阶函数、常用内置函数用法实例分析
本文实例讲述了Python高阶函数、常用内置函数用法。分享给大家供大家参考,具体如下:
高阶函数:
- 允许将函数作为参数传入另一个函数;
- 允许返回一个函数。
#返回值为函数的函数 sum=lambdax,y:x+y sub=lambdax,y:x-y calc_dict={"+":sum,"-":sub} defcalc(x): returncalc_dict[x] print(calc('-')(5,6)) print(calc('+')(5,6)) #参数有函数的函数 filter(lambdax:x>5,range(20))
常用内置函数:
- abs(x):求绝对值
- range([start],stop[,step]):产生一个序列,默认从0开始
- 注意:返回的不是一个list对象
>>>print(range(20)) range(0,20) >>>type(range(20))>>>isinstance(range(20),Iterable)#########是一个可迭代对象 True >>>fromcollectionsimportIterator >>>isinstance(range(20),Iterator)#不是一个迭代器对象 False
- oct(x)
将一个数字转化为8进制 - hex(x)
将整数x转换为16进制字符串 - bin(x)
将整数x转换为二进制字符串
>>>oct(8) '0o10' >>>hex(8) '0x8' >>>bin(8) '0b1000'
- chr(i):返回整数i对应的Unicode字符
- ord(x):将字符转换成对应的Unicode编址
>>>ord('中') 20013 >>>chr(20013) '中'
- enumerate(sequence[,start=0]):返回一个可枚举的对象,该对象的next()方法将返回一个tuple
fori,valueinenumerate(['A','B','C']): print(i,value)
- iter(o[,sentinel]) :生成一个对象的迭代器,第二个参数表示分隔符
fromcollectionsimportIterator #可以被next()函数调用并不断返回下一个值的对象称为迭代器:Iterator。 print(isinstance([],Iterator)) print(isinstance(iter([]),Iterator))
- sorted(iterable[,cmp[,key[,reverse]]]) 对可迭代对象进行排序
>>>l=[8,7,6,5,4,3,2,1] >>>sorted(l) [1,2,3,4,5,6,7,8]
- cmp(x,y) :如果x
y,返回正数
- all(iterable)
1、可迭代对象中的元素都为真的时候为真
2、特别的,可迭代对象若为空返回为True
>>>l=[] >>>all(l) True >>>l=[1,2,3,4,5] >>>all(l) True >>>l=[1,2,3,4,5,0] >>>all(l) False
- any(iterable)
1、可迭代对象中的元素有一个为真的时候为真
2、特别的,可迭代对象若为空返回为False
>>>l=[] >>>any(l) False >>>l=[0,0,0,0] >>>any(l) False >>>l=[0,0,0,0,5] >>>any(l) True >>>
- eval(expression[,globals[,locals]]) :计算表达式expression的值
>>>str1="3+4" >>>eval(str1) 7
- exec(object[,globals[,locals]]):执行储存在字符串或文件中的Python语句
>>>str1="print('helloworld')" >>>exec(str1) helloworld
- compile(source,filename,mode[,flags[,dont_inherit]])
- 将source编译为代码或者AST对象。代码对象能够通过exec语句来执行或者eval()进行求值。
1、参数source:字符串或者AST(AbstractSyntaxTrees)对象。
2、参数filename:代码文件名称,如果不是从文件读取代码则传递一些可辨认的值。
3、参数model:指定编译代码的种类。可以指定为‘exec','eval','single'。
4、参数flag和dont_inherit:这两个参数暂不介绍
str1="print('helloworld')" c2=compile(str1,'','exec') exec(c2) str2="3+4" c3=compile(str2,'','eval') a=eval(c3) print(a)
- id(object) :函数用于获取对象的内存地址
>>>id(str1) 1514678732384 >>>str2=str1 >>>id(str2) 1514678732384
- isinstance(object,classinfo):判断object是否是class的实例
>>>isinstance(1,int) True >>>isinstance(1.0,int) False
- len(s) :返回长度(ascll格式的返回字节数,unicode返回字符数/或元素个数)
>>>a=b'abc' >>>len(a) 3 >>>b="我爱中国" >>>len(b) 4 >>>c=[1,2,3,4] >>>len(c) 4
- repr(object) :将对象转化为供解释器读取的形式,实质是返回一个对象的string格式
>>>c=[1,2,3,4] >>>repr(c) '[1,2,3,4]' >>>d={1:2,2:3,3:4} >>>repr(d) '{1:2,2:3,3:4}'
- type(object) :返回该object的类型
>>>type(1)>>>type("123") >>>type((1,2,3))
关于Python相关内容感兴趣的读者可查看本站专题:《Python函数使用技巧总结》、《Python面向对象程序设计入门与进阶教程》、《Python数据结构与算法教程》、《Python字符串操作技巧汇总》、《Python编码操作技巧总结》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。