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 分析Nginx访问日志并保存到MySQL数据库实例
Mar 13 Python
python使用PyFetion来发送短信的例子
Apr 22 Python
python关键字and和or用法实例
May 28 Python
python操作列表的函数使用代码详解
Dec 28 Python
Python实现字符型图片验证码识别完整过程详解
May 10 Python
Python3从零开始搭建一个语音对话机器人的实现
Aug 23 Python
pytorch实现CNN卷积神经网络
Feb 19 Python
Python实现在Windows平台修改文件属性
Mar 05 Python
Java byte数组操纵方式代码实例解析
Jul 22 Python
python性能测试工具locust的使用
Dec 28 Python
Python连续赋值需要注意的一些问题
Jun 03 Python
利用Python脚本写端口扫描器socket,python-nmap
Jul 23 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 伪静态技术原理以及突破原理实现介绍
2013/07/12 PHP
jquery随意添加移除html的实现代码
2011/06/21 Javascript
javascript for循环从入门到偏门(效率优化+奇特用法)
2012/08/01 Javascript
Jquery遍历Json数据的方法
2015/04/20 Javascript
jquery简单实现图片切换效果的方法
2015/05/12 Javascript
jquery实现向下滑出的二级导航下滑菜单效果
2015/08/25 Javascript
解决JS请求服务器gbk文件乱码的问题
2015/10/16 Javascript
快速解决js开发下拉框中blur与click冲突
2016/10/10 Javascript
javascript中href和replace的比较(详解)
2016/11/25 Javascript
jQuery学习之DOM节点的插入方法总结
2017/01/22 Javascript
js手机号4位显示空格,银行卡每4位显示空格效果
2017/03/23 Javascript
VUE使用vuex解决模块间传值问题的方法
2017/06/01 Javascript
Angular使用过滤器uppercase/lowercase实现字母大小写转换功能示例
2018/03/27 Javascript
JS监听事件的叠加和移除功能
2018/11/19 Javascript
JavaScript中的&quot;=、==、===&quot;区别讲解
2019/01/22 Javascript
JS秒杀倒计时功能完整实例【使用jQuery3.1.1】
2019/09/03 jQuery
JavaScript实现弹出窗口效果
2020/12/09 Javascript
python的keyword模块用法实例分析
2015/06/30 Python
Python使用爬虫猜密码
2016/02/19 Python
django model去掉unique_together报错的解决方案
2016/10/18 Python
Python3.5多进程原理与用法实例分析
2019/04/05 Python
Python绘图Matplotlib之坐标轴及刻度总结
2019/06/28 Python
Python BeautifulSoup [解决方法] TypeError: list indices must be integers or slices, not str
2019/08/07 Python
零基础学Python之前需要学c语言吗
2020/07/21 Python
详解Python中的文件操作
2021/01/14 Python
HTML5在手机端实现视频全屏展示方法
2020/11/23 HTML / CSS
瑞典领先的汽车零部件网上零售商:bildelaronline24.se
2017/01/12 全球购物
法国娇韵诗官方旗舰店:Clarins是来自法国的天然护肤品牌
2018/06/30 全球购物
通用C#笔试题附答案
2016/11/26 面试题
个人担保书范文
2014/05/20 职场文书
五四青年节演讲稿
2014/05/26 职场文书
项目合作协议书
2014/09/23 职场文书
2014年教师教学工作总结
2014/11/08 职场文书
校友会致辞
2015/07/30 职场文书
放假通知怎么写
2015/08/18 职场文书
新手入门Mysql--sql执行过程
2021/06/20 MySQL