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 28 Python
python3中str(字符串)的使用教程
Mar 23 Python
python+matplotlib演示电偶极子实例代码
Jan 12 Python
对Tensorflow中的变量初始化函数详解
Jul 27 Python
python控制nao机器人身体动作实例详解
Apr 29 Python
Keras中的两种模型:Sequential和Model用法
Jun 27 Python
opencv 图像滤波(均值,方框,高斯,中值)
Jul 08 Python
基于Python爬取fofa网页端数据过程解析
Jul 13 Python
python 实时调取摄像头的示例代码
Nov 25 Python
python 操作excel表格的方法
Dec 05 Python
20行代码教你用python给证件照换底色的方法示例
Feb 05 Python
Python+uiautomator2实现自动刷抖音视频功能
Apr 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结合表单实现一些简单功能的例子
2011/06/04 PHP
Laravel学习教程之View模块详解
2017/09/18 PHP
Thinkphp5+Redis实现商品秒杀代码实例讲解
2020/12/29 PHP
JQuery this 和 $(this) 的区别
2009/08/23 Javascript
JavaScript 放大镜 移动镜片效果代码
2011/05/09 Javascript
js 得到文件后缀(通过正则实现)
2013/07/08 Javascript
jquery快捷动态绑定键盘事件的操作函数代码
2013/10/17 Javascript
jquery比较简洁的软键盘特效实现方法
2015/03/19 Javascript
js制作带有遮罩弹出层实现登录注册表单特效代码分享
2015/09/05 Javascript
终于实现了!精彩的jquery弹幕效果
2016/07/18 Javascript
shiro授权的实现原理
2017/09/21 Javascript
基于cropper.js封装vue实现在线图片裁剪组件功能
2018/03/01 Javascript
浅谈微信小程序列表埋点曝光指南
2019/10/15 Javascript
用JS实现选项卡
2020/03/23 Javascript
[03:11]2014DOTA2国际邀请赛-VG掉入败者组 独家专访357
2014/07/19 DOTA
python设置检查点简单实现代码
2014/07/01 Python
Python爬虫的两套解析方法和四种爬虫实现过程
2018/07/20 Python
Python读取mat文件,并保存为pickle格式的方法
2018/10/23 Python
用xpath获取指定标签下的所有text的实例
2019/01/02 Python
在PyCharm中批量查找及替换的方法
2019/01/20 Python
python Matplotlib底图中鼠标滑过显示隐藏内容的实例代码
2019/07/31 Python
PyTorch预训练的实现
2019/09/18 Python
Python3 使用map()批量的转换数据类型,如str转float的实现
2019/11/29 Python
python中sklearn的pipeline模块实例详解
2020/05/21 Python
python 实现简易的记事本
2020/11/30 Python
Python 生成短8位唯一id实战教程
2021/01/13 Python
canvas之万花筒效果的简单实现(推荐)
2016/08/16 HTML / CSS
俄罗斯购买剧院和演唱会门票网站:Parter.ru
2019/11/09 全球购物
网络、C以及其他硬件方面的面试题
2016/08/23 面试题
总经理岗位职责范本
2014/02/02 职场文书
会计人员岗位职责
2014/03/19 职场文书
相亲大会策划方案
2014/06/05 职场文书
个人维稳承诺书
2015/05/04 职场文书
Python中re模块的元字符使用小结
2022/04/07 Python
国际最新研究在陨石中发现DNA主要成分 或由陨石带来地球
2022/04/29 数码科技
Python+DeOldify实现老照片上色功能
2022/06/21 Python