高阶函数与文件操作

高阶函数

一、什么是高阶函数
满足下列条件之一的函数就是高阶函数:
1.函数可以作为参数被传递
2.函数可以作为返回值被输出
二、常用的五个高阶函数:
map
reduce
filter
sorted
reversed
1.map()函数
map函数接受两个参数,一个是函数,一个是序列
map的作用:
将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回。
2.reduce()函数:
把一个函数作用在一个序列上,这个函数必须接收两个参数。reduce把结果和序列中的下一个元素进行累积计算。
3.内置函数filter():
filter()函数用于过滤序列,filter()也接收一个函数一个序列,把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素(用布尔值过滤掉不符合条件的元素)
4.内置sorted()函数:
sorted()函数也是一个高阶函数,它还可以接收一个key函数来实现自定义的排序,例如按绝对值大小排序,按照字符串长度排序。
函数+"()"执行函数,结果是函数的返回值
定义好的函数名 函数对象
将函数作为高阶函数时,不能加()
返回值是高阶函数的函数

三.函数嵌套与nonlocal关键字:
使用nonlocal关键字,将变量标记为不在本地作用域定义,而在上级的某一级局部作用域中定义,但不能是全局作用域中定义。
四、函数柯里化柯里化(Currying):
是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技术。
五、装饰器函数
1.在不修改其他函数代码的情况下,给其他函数增加或修改功能的函数
装饰器函数是高阶函数
1.他将原函数作为参数
2.一般在装饰器中需要定义一层或两层内部函数
3.原函数需要在装饰器内部的函数中执行
4.将内部函数作为返回值返回
装饰器的应用场景
1.给大量函数增加相同功能时
2.日志装饰器,测试装饰器,功能增强
装饰器用法
在要用的函数前面添加,用"@"+装饰器函数名称

文件操作

文本文件: 持久化字符串到磁盘空间的数据
一、文件打开,关闭

f = open(文件名)#打开文件
f.close()#关闭文件

二、文件打开方式
open函数的第二个参数mode是用来指定文件打开方式的
mode:“ r ”,“ w ”,“ a ”,“ r + ”,“ w+ ”,“ a+ ”,“ b ”
用法:
w: 写内容会覆盖原来的内容,文件不存在会创建文件
a: 追加数据,文件不存在时创建,已存在末行追加
r: 只读
a+: 追加并读取
w+: 写入并读取
r+: 读取追加
b: 对二进制文件操作,要加b

'''
f.read()      #读取全部文本是信息,返回一个字符串
f.readline()  #一次只读取一行字符,默认读取第一行,可以循环取出所有字符
f.readlines() #一次读取全部行,返回一个列表,每行是一个元素
f.writelines()  #一次写入一个列表,每行是一个元素
'''
#文件内容写入:
f = open('电影.txt' 'w', endcoding='utf-8')
f.write('阿甘正传')   #一次写入全部内容
f.close()

with open()用法:

with open("电影.txt","w") as f:
		f.write("兵临城下")
		#文件会自动关闭
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值