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

作者:随风行云 时间:2023-01-24 17:36:58 

本文实例讲述了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程序设计有所帮助。

来源:https://www.cnblogs.com/progor/p/8410460.html

标签:Python,高阶函数,内置函数
0
投稿

猜你喜欢

  • Mysql写入数据十几秒后被自动删除了如何解决

    2024-01-27 05:24:15
  • Python的信号库Blinker用法详解

    2021-06-23 23:23:19
  • JAVASCRIPT实现的WEB页面跳转以及页面间传值方法

    2023-08-23 04:56:09
  • javascript 的 in 操作符实例详解

    2007-10-07 12:00:00
  • Python列表删除元素del、pop()和remove()的区别小结

    2021-12-02 07:32:41
  • Python删除n行后的其他行方法

    2022-07-01 15:06:29
  • python为什么会环境变量设置不成功

    2023-01-18 04:33:08
  • Python使用穷举法求两个数的最大公约数问题

    2022-01-20 21:26:51
  • Python正则表达式re模块详解(建议收藏!)

    2022-07-28 04:52:46
  • 在django中查询获取数据,get, filter,all(),values()操作

    2023-09-04 16:10:27
  • asp如何将RGB颜色转化成到16进制的?

    2009-11-26 20:41:00
  • 使用matplotlib绘制图例标签中带有公式的图

    2022-07-19 00:40:48
  • Pytorch使用MNIST数据集实现基础GAN和DCGAN详解

    2021-11-17 02:14:33
  • Python数据分析之 Pandas Dataframe合并和去重操作

    2022-12-31 07:11:59
  • 简述MySQL 正则表达式

    2024-01-16 12:17:44
  • Python中OpenCV实现简单车牌字符切割

    2023-09-19 18:53:59
  • Python实现的爬取百度贴吧图片功能完整示例

    2021-06-30 19:22:13
  • 对python 数据处理中的LabelEncoder 和 OneHotEncoder详解

    2022-08-05 06:00:23
  • PHP mysql_result()函数使用方法

    2023-06-13 08:21:29
  • python使用dlib进行人脸检测和关键点的示例

    2021-12-14 20:56:04
  • asp之家 网络编程 m.aspxhome.com