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中进行自动化单元测试的教程
Apr 15 Python
Python的装饰器用法学习笔记
Jun 24 Python
django 外键model的互相读取方法
Dec 15 Python
python pcm音频添加头转成Wav格式文件的方法
Jan 09 Python
python交互模式下输入换行/输入多行命令的方法
Jul 02 Python
pandas的排序和排名的具体使用
Jul 31 Python
matplotlib命令与格式之tick坐标轴日期格式(设置日期主副刻度)
Aug 06 Python
Python代理IP爬虫的新手使用教程
Sep 05 Python
Tensorflow训练模型越来越慢的2种解决方案
Feb 07 Python
Python单元测试模块doctest的具体使用
Feb 10 Python
Python实现子类调用父类的初始化实例
Mar 12 Python
Ubuntu20.04环境安装tensorflow2的方法步骤
Jan 29 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之数据库操作详解及乱码解决!
2007/01/02 PHP
php一个解析字符串排列数组的方法
2015/05/12 PHP
关于图片验证码设计的思考
2007/01/29 Javascript
基于JQuery实现CheckBox全选全不选
2011/06/27 Javascript
用js判断页面是否加载完成实现代码
2012/12/11 Javascript
jQuery对象的length属性用法实例
2014/12/27 Javascript
jQuery简单实现禁用右键菜单
2015/03/10 Javascript
flash+jQuery实现可关闭及重复播放的压顶广告
2015/04/15 Javascript
Vue实现双向绑定的方法
2016/12/22 Javascript
jQuery完成表单验证的实例代码(纯代码)
2017/09/30 jQuery
Node.js中sequelize时区的配置方法
2017/12/10 Javascript
angularjs使用gulp-uglify压缩后执行报错的解决方法
2018/03/07 Javascript
JavaScript简单实现的仿微博留言功能示例
2019/01/17 Javascript
JS前端基于canvas给图片添加水印
2020/11/11 Javascript
[04:09]显微镜下的DOTA2第十二期—NaVi美如画的团战
2014/06/23 DOTA
在 Python 应用中使用 MongoDB的方法
2017/01/05 Python
Python基于Matplotlib库简单绘制折线图的方法示例
2017/08/14 Python
Python登录并获取CSDN博客所有文章列表代码实例
2017/12/28 Python
通过Python 接口使用OpenCV的方法
2018/04/02 Python
对python中的iter()函数与next()函数详解
2018/10/18 Python
Python matplotlib的使用并自定义colormap的方法
2018/12/13 Python
Python实现二维曲线拟合的方法
2018/12/29 Python
python使用mitmproxy抓取浏览器请求的方法
2019/07/02 Python
keras 特征图可视化实例(中间层)
2020/01/24 Python
利用python实现逐步回归
2020/02/24 Python
浅谈keras2 predict和fit_generator的坑
2020/06/17 Python
Html5大文件断点续传实现方法
2015/12/05 HTML / CSS
Puritan’s Pride(普丽普莱)官方网站:美国最大最全的保健品公司之一
2016/10/23 全球购物
澳大利亚在线奢侈品时尚零售平台:Azura Runway
2021/01/13 全球购物
应急管理培训方案
2014/06/12 职场文书
2014年教师党员自我评价范文
2014/09/22 职场文书
幼儿园安全工作总结2015
2015/04/20 职场文书
2015年预防青少年违法犯罪工作总结
2015/05/22 职场文书
Css预编语言及区别详解
2021/04/25 HTML / CSS
Vue + iView实现Excel上传功能的完整代码
2021/06/22 Vue.js
微信小程序实现轮播图指示器
2022/06/25 Javascript