期末笔记后期整理,如有问题,请多多指教。
一、闭包
1、三个条件:
①存在于嵌套关系的函数中;
②嵌套的内部函数引用了外部函数的变量;
③嵌套的外部函数会将内部函数名作为返回值返回。
def outer(start=0):
count=[start]
def inner():
count[0]+=1
return count[0]
return inner
quote=outer(5)
print(quote())
2、常见的内置函数
①map函数
map(function,iterable,...)#当调用map函数时,iterable中的每个元素都调用function,返回结果保存到迭代器对象中。
func=lambda x:x+2
result=map(func,[1,2,3,4,5])
print(list(result))
若调用map函数时传入function参数为None,则相当于将序列中对应位置的元素合并成元组。
②filter函数(对指定序列执行过滤操作)
filter(function,iterable)#迭代器中的每个参数元素分别调用function,最后返回迭代器包含的调用结果为True的元素。
function返回值为布尔值,可为None。
func=lambda x:x%2
result=filter(func,[1,2,3,4,5])
print(list(result))
③reduce函数(对迭代器的元素进行累积)
reduce(function,iterable[,initializer])
function带两个参数,不能为None,initializer为初始值
from functools import reduce
func=lambda x,y:x+y
result=reduce(func,[1,2,3,4,5])
print(result)
二、文件
1、文件的打开:open(文件名[,访问模式])
r | 读(默认) | rb | r+ | 读写 | rb+ | ||
w | 写 | wb | w+ | 读写 | wb+ | ||
a | 追加 | ab | a+ | 读写 | ab+ |
file=open('test.txt',w+)
2、文件的关闭
file.close()
3、写文件
file.write('hello')#若文件存在,清空所有数据,重新写入
4、读文件
file.read([size])#返回字符串,可指定长度
file.readlines()#返回列表,每个元素为文件的每一行
file.readline()#一行一行地读,返回字符串
5、文件的定位读写
①tell方法(获取文件当前的读写位置)
words=file.read(5)
position=file.tell()
print(position)
②seek方法(定位到文件的指定读写位置)
seek(offset[,whence])#偏移量,方向
SEEK_SET或0:起始(默认)
SEEK_CUR或1:当前
SEEK_END或2:末尾
file.seek(5)#访问模式rb+指针位置可动,r不可
6、文件的重命名和删除:os模块
os.rename(src,dst)
os.remove(path)
7、文件夹的相关操作
os.mkdir("aa")#创建
os.getcwd()#获取当前目录
os.chdir("../")#改变默认目录
os.listdir("./")#获取目录列表
os.rmdir("aa")#删除
来源:CSDN
作者:小野人_vector
链接:https://blog.csdn.net/xiaoyeren_ITRoad/article/details/104172000