第二次笔记

文件操作
文件打开关闭
f = open(文件名) # 打开文件
f.close() #关闭文件
文件打开方式
open函数的第二个参数mode是用来指定文件打开方式的.
a : 追加内容
w : 写内容,会覆盖原来的内容,文件不存在会创建文件
r : 只读
a+:追加并读取
w+:写入并读取
r+: 读取追加
b: 对二进制文件操作,要加b
文件读取
f.read() # 读取全部文本是信息,返回一个字符串
f.readline() # 一次只读取一行字符,默认读取第一行,可以循环取出所有字符。
f.readlines() #一次读取全部行,返回一个列表,每行是一个元素
文件内容写入
f = open(‘电影.txt’,‘w’,encoding =‘utf-8’)
f.write(‘阿甘正传’) # 一次写入全部内容
f.close()
文件内容写入
f.writelines() # 一次写入一个列表,每行是一个元素
with open()用法
with open(“电影.txt”, ”w”) as f:
f.write(“兵临城下”)

#文件会自动关闭,这样就不怕忘记关文件了.
第二次笔记

高阶函数
满足以下条件之一的函数就是高阶函数
1.函数可以作为参数被传递
2.函数可以做为返回值输出
常用的有五个常用高阶函数
map
reduce
filter
sorted
reversed
map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回。
reduce把一个函数作用在一个序列[x1, x2, x3…]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算,
内置函数filter
Python内建的filter()函数用于过滤序列。
和map()类似,filter()也接收一个函数和一个序列。和map()不同的时,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。
sorted()函数也是一个高阶函数,它还可以接收一个key函数来实现自定义的排序,例如按绝对值大小排序,按照字符串长度排序
函数嵌套与nonlocal关键字
使用nonlocal关键字,将变量标记为不在本地作用域定义,而在上级的某一级局部作用域中定义,但不能是全局作用域中定义!
装饰器函数
装饰器本质上也是一个函数,只不过这个函数接收其他函数作为参数并对其进行一定的改造之后返回新函数
装饰器函数:1.在不修改其他函数代码。
2.给其他函数增加或修改功能的函数
装饰器函数是高阶函数
1.他将原函数做为参考
2.一般在装饰器中需要定义一层或两层内部函数
3.原函数需要在装饰器内部的函数中运行
4.将内部函数作为返回值返回
装饰器的应用场景
1,给大量函数增加相同功能时
2.日志装饰器,测试装饰器,功能增强