您的位置:首页 > 编程语言 > Python开发

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 语句适用于对资源进行访问的场合,确保不管使用过程中是否发生异常都会执行必要的“清理”操作,释放资源

    1. 比如文件使用后自动关闭、线程中锁的自动获取和释放等

  • with处理文件操作的实例

  • with open('/etc/passwd') as f:
    for line in f:
    print(line)
    # 这段代码的作用:打开一个文件,如果一切正常,把文件对象赋值给f,然后用迭代器遍历文件中每一行,当完成时,关闭文件;
    
    # 而无论在这段代码的任何地方,如果发生异常,此时文件仍会被关闭。
    • 点赞
    • 收藏
    • 分享
    • 文章举报
    Hanmin_hm 发布了29 篇原创文章 · 获赞 1 · 访问量 678 私信 关注
    内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: