Python基础—闭包和文件

一个人想着一个人 提交于 2020-02-04 20:05:17

   期末笔记后期整理,如有问题,请多多指教。


一、闭包

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")#删除

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!