python基础 & 四大高阶函数 & 上下文管理
2020-03-11 12:17
183 查看
python基础
四大高阶函数
-
Map函数
功能:将第一个参数 function 依次作用的每在参数可迭代对象中一个元素上,返回包含每次 function 函数返回值的新迭代器
代码: def f(x): return x*x r = map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9]) print(list(r)) 运行结果: [1, 4, 9, 16, 25, 36, 49, 64, 81]
-
reduce(function, iterable[, initializer])函数
功能:函数将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给 reduce 中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果
代码: from functools import reduce def add(x, y): return x + y r = reduce(add, [1, 3, 5, 7, 9]) print(r) 运行结果: 25
-
filter(function, iterable)函数
功能:该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判断,然后返回 True 或 False,最后将返回 True 的元素放到新迭代器对象中
代码: def is_odd(n): return n % 2 == 1 tmplist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) newlist = list(tmplist) print(newlist) 运行结果: [1, 3, 5, 7, 9]
-
sorted(iterable, key=abs, reverse=False) 函数
功能:对所有可迭代的对象进行排序操作
代码:print(sorted([36, 5, -12, 9, -21])) 运行结果:[-21, -12, 5, 9, 36]
上下文管理
-
什么是with语句
with是一种上下文管理协议,目的在于从流程图中把 try,except 和finally 关键字和资源分配释放相关代码统统去掉,简化try….except….finlally的处理流程。
-
所以使用with处理的对象必须有enter()和exit()这两个方法
1)with通过enter方法初始化(enter方法在语句体执行之前进入运行)
2)然后在exit中做善后以及处理异常(exit()方法在语句体执行完毕退出后运行)
with语句使用场景
with 语句适用于对资源进行访问的场合,确保不管使用过程中是否发生异常都会执行必要的“清理”操作,释放资源
比如文件使用后自动关闭、线程中锁的自动获取和释放等
with处理文件操作的实例
with open('/etc/passwd') as f: for line in f: print(line) # 这段代码的作用:打开一个文件,如果一切正常,把文件对象赋值给f,然后用迭代器遍历文件中每一行,当完成时,关闭文件; # 而无论在这段代码的任何地方,如果发生异常,此时文件仍会被关闭。
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- Python基础学习(5)网络编程socket、文件上传、粘包问题、socketserver、IO多路复用、线程与进程、进程池、线程池、上下文管理、协程
- python基础--with语句安全上下文管理
- python基础-打开模式、seek、修改文件、with上下文管理、truncate
- Python基础(6)- 类和对象(使用、继承、派生、组合、接口、多态、封装、property、staticmethod、classmethod、反射、slots、上下文管理协议、元类)
- python基础----实现上下文管理协议__enter__和__exit__
- python属性管理(1):基础
- python 0基础学习笔记12:高阶函数、测试、远程访问windows、破解密码
- python 学习第十一课 上下文管理 paramiko 堡垒机 mysql操作
- 使用Python管理Azure(1):基础配置
- Python基础 编写项目 学生管理系统
- Python基础(七)------包与模块管理、面向对象编程
- python with语句上下文管理的两种实现方法
- 利用python Tkinter 实现基础的MySQL数据库应用管理系统
- python上下文管理协议
- python with和上下文管理工具
- python深入笔记--特殊方法\上下文管理\__dict__\property()
- Python3 基础:高阶函数和map/reduce
- 十六、Python 上下文管理 Context Manager
- python基础知识5(集合,高级特性,高阶函数)
- python基础-做一个简单的用户信息管理系统