Python高阶函数、常用内置函数用法实例分析


Posted in Python onDecember 26, 2019

本文实例讲述了Python高阶函数、常用内置函数用法。分享给大家供大家参考,具体如下:

高阶函数:

  • 允许将函数作为参数传入另一个函数;
  • 允许返回一个函数。
#返回值为函数的函数
sum=lambda x,y:x+y
sub=lambda x,y:x-y
calc_dict={"+":sum,"-":sub}
def calc(x):
  return calc_dict[x]

print(calc('-')(5,6))
print(calc('+')(5,6))

#参数有函数的函数
filter(lambda x:x>5,range(20))

常用内置函数:

  • abs(x):求绝对值
  • range([start], stop[, step]) :产生一个序列,默认从0开始
    • 注意:返回的不是一个list对象
>>> print(range(20))
range(0, 20)
>>> type(range(20))
<class 'range'>
>>> isinstance(range(20),Iterable)#########是一个可迭代对象
True
>>> from collections import Iterator
>>> 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
for i, value in enumerate(['A', 'B', 'C']):
  print(i, value)
  • iter(o[, sentinel])  :生成一个对象的迭代器,第二个参数表示分隔符
from collections import Iterator
#可以被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 ,返回负数;x == y, 返回0;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('hello world')"
>>> exec(str1)
hello world
  • compile(source, filename, mode[, flags[, dont_inherit]])
    • 将source编译为代码或者AST对象。代码对象能够通过exec语句来执行或者eval()进行求值。
      1、参数source:字符串或者AST(Abstract Syntax Trees)对象。
      2、参数 filename:代码文件名称,如果不是从文件读取代码则传递一些可辨认的值。
      3、参数model:指定编译代码的种类。可以指定为 ‘exec','eval','single'。
      4、参数flag和dont_inherit:这两个参数暂不介绍
str1 = "print('hello world')"
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)
<class 'int'>
>>> type("123")
<class 'str'>
>>> type((1,2,3))
<class 'tuple'>

关于Python相关内容感兴趣的读者可查看本站专题:《Python函数使用技巧总结》、《Python面向对象程序设计入门与进阶教程》、《Python数据结构与算法教程》、《Python字符串操作技巧汇总》、《Python编码操作技巧总结》及《Python入门与进阶经典教程》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python实现监控linux性能及进程消耗性能的方法
Jul 25 Python
在Python中操作文件之truncate()方法的使用教程
May 25 Python
Python中for循环控制语句用法实例
Jun 02 Python
python递归查询菜单并转换成json实例
Mar 27 Python
解析Python中的eval()、exec()及其相关函数
Dec 20 Python
python如何使用unittest测试接口
Apr 04 Python
Python BS4库的安装与使用详解
Aug 08 Python
pygame实现打字游戏
Feb 19 Python
Python协程 yield与协程greenlet简单用法示例
Nov 22 Python
python 实现turtle画图并导出图片格式的文件
Dec 07 Python
Python3和pyqt5实现控件数据动态显示方式
Dec 13 Python
python如何删除列为空的行
Jul 17 Python
pandas实现DataFrame显示最大行列,不省略显示实例
Dec 26 #Python
Python函数的定义方式与函数参数问题实例分析
Dec 26 #Python
PyCharm使用之配置SSH Interpreter的方法步骤
Dec 26 #Python
python DataFrame转dict字典过程详解
Dec 26 #Python
Numpy之reshape()使用详解
Dec 26 #Python
PyCharm使用Docker镜像搭建Python开发环境
Dec 26 #Python
python路径的写法及目录的获取方式
Dec 26 #Python
You might like
一周学会PHP(视频)Http下载
2006/12/12 PHP
获取远程文件大小的php函数
2010/01/11 PHP
codeigniter使用技巧批量插入数据实例方法分享
2013/12/31 PHP
php数组编码转换示例详解
2014/03/11 PHP
php header函数的常用http头设置
2015/06/25 PHP
在Mac OS上搭建Nginx+PHP+MySQL开发环境的教程
2015/12/21 PHP
PHP面向对象之工作单元(实例讲解)
2017/06/26 PHP
jquery中dom操作和事件的实例学习-表单验证
2011/11/30 Javascript
javascript实现简易计算器的代码
2016/05/31 Javascript
mui 打开新窗口的方式总结及注意事项
2017/08/20 Javascript
JS实现多物体运动的方法详解
2018/01/23 Javascript
JS动画定时器知识总结
2018/03/23 Javascript
浅谈Angular6的服务和依赖注入
2018/06/27 Javascript
vue-cli3中配置alias和打包加hash值操作
2020/09/04 Javascript
[02:04]2014DOTA2国际邀请赛 DK一个时代的落幕
2014/07/21 DOTA
Python中的异常处理简明介绍
2015/04/13 Python
Python导出DBF文件到Excel的方法
2015/07/25 Python
python执行精确的小数计算方法
2019/01/21 Python
python实现动态创建类的方法分析
2019/06/25 Python
python中hasattr()、getattr()、setattr()函数的使用
2019/08/16 Python
python对XML文件的操作实现代码
2020/03/27 Python
Python常见反爬虫机制解决方案
2020/06/01 Python
python 无损批量压缩图片(支持保留图片信息)的示例
2020/09/22 Python
H5 video poster属性设置视频封面的方法
2020/05/25 HTML / CSS
碧欧泉美国官网:Biotherm美国
2016/08/31 全球购物
蛋糕店的商业计划书范文
2014/01/27 职场文书
教师党性分析材料
2014/02/04 职场文书
大专生毕业的自我评价
2014/02/06 职场文书
大学生未来职业生涯规划书
2014/02/15 职场文书
会计岗位职责范本
2014/03/07 职场文书
青春无悔演讲稿
2014/05/08 职场文书
大学生党员学习焦裕禄精神思想汇报
2014/09/10 职场文书
美术教师个人工作总结
2015/02/06 职场文书
拔河比赛队名及霸气口号
2015/12/24 职场文书
2016年学校“6﹒26国际禁毒日”宣传活动总结
2016/04/05 职场文书
竞聘演讲报告:基本写作有哪些?附开头范文
2019/10/16 职场文书