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字符串排序方法
Aug 29 Python
Python格式化压缩后的JS文件的方法
Mar 05 Python
python协程用法实例分析
Jun 04 Python
python中abs&amp;map&amp;reduce简介
Feb 20 Python
Python对List中的元素排序的方法
Apr 01 Python
基于python中theano库的线性回归
Aug 31 Python
Tensorflow 实现分批量读取数据
Jan 04 Python
Python3 filecmp模块测试比较文件原理解析
Mar 23 Python
Python连接Hadoop数据中遇到的各种坑(汇总)
Apr 14 Python
python如何从键盘获取输入实例
Jun 18 Python
深入了解Python 变量作用域
Jul 24 Python
Python用dilb提取照片上人脸的示例
Oct 26 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
简单JS代码压缩器
2006/10/12 Javascript
javascript showModalDialog,open取得父窗口的方法
2010/03/10 Javascript
input 和 textarea 输入框最大文字限制的jquery插件
2011/10/27 Javascript
Jquery选中或取消radio示例
2013/09/29 Javascript
js加入收藏以及使用Jquery更改透明度
2014/01/26 Javascript
javascript页面渲染速度测试脚本分享
2014/04/15 Javascript
浅析javascript中function 的 length 属性
2014/05/27 Javascript
为什么JS中eval处理JSON数据要加括号
2015/04/13 Javascript
JQuery复制DOM节点的方法
2015/06/11 Javascript
javascript+HTML5的canvas实现七夕情人节3D玫瑰花效果代码
2015/08/04 Javascript
jquery广告无缝轮播实例
2017/01/05 Javascript
jQuery排序插件tableSorter使用方法
2017/02/10 Javascript
Javascript封装id、class与元素选择器方法示例
2017/03/13 Javascript
JavaScrpt的面向对象全面解析
2017/05/09 Javascript
jquery操作ul的一些操作笔记整理(干货)
2017/08/31 jQuery
JavaScript使用FileReader实现图片上传预览效果
2020/03/27 Javascript
Layui组件Table绑定行点击事件和获取行数据的方法
2018/08/19 Javascript
Python判断直线和矩形是否相交的方法
2015/07/14 Python
python实现按任意键继续执行程序
2016/12/30 Python
Pandas 对Dataframe结构排序的实现方法
2018/04/10 Python
Django框架多表查询实例分析
2018/07/04 Python
Python多进程编程常用方法解析
2020/03/26 Python
django 利用Q对象与F对象进行查询的实现
2020/05/15 Python
selenium判断元素是否存在的两种方法小结
2020/12/07 Python
Java提供了哪些企业应用编程接口
2015/02/13 面试题
经典的班主任推荐信
2013/10/28 职场文书
素质拓展感言
2014/01/29 职场文书
大学生军训自我鉴定
2014/02/12 职场文书
数据保密承诺书
2014/06/03 职场文书
大学生党员自我评价
2015/03/04 职场文书
个人求职自荐信范文
2015/03/06 职场文书
2015年团支书工作总结
2015/04/03 职场文书
幼儿园食品安全责任书
2015/05/08 职场文书
海上钢琴师的观后感
2015/06/11 职场文书
幼儿园教学反思范文
2016/03/02 职场文书
Python中Numpy和Matplotlib的基本使用指南
2021/11/02 Python