Python常用的高阶函数有filter、reduce、sorted、map。因为高阶函数的需要的地方多Python搞了一个叫functools模块包含了很多高阶模块函数和装饰器。
reduce的作用可迭代对象中的元素依次传递到第一个参数指定的函数中最终返回累积的结果
累加:
import functools
def add(x,y):
return x + y
print(functools.reduce(add,[1,2,3,4,5]))
#结果为15
累乘:
print(functools.reduce(lambda x,y:x * y,range(1,5)))
#结果24
偏函数:偏函数是指对函数的二次包装
#Pow(x,y)函数,其中x表示底数,y表示指数
cube = functools.partial(pow,exp = 2)
print(cube(3))
#此运行结果为9代表着3的平方
cube = functools.partial(pow,exp = 3)
print(cube(2))
#此运行结果为8代表着2的三次方
永久存储
常用的mode参数
#使用 open() 函数一定要保证关闭文件对象,调用 close() 函数。
"""
一些常用mode参数
r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
r+ 打开一个文件用于读写
rb 以二进制格式打开一个文件用于只读。一般用于非文本文件如图片等。
rb+ 以二进制格式打开一个文件用于读写。一般用于非文本文件如图片等。
w 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
w+ 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb 以二进制格式打开一个文件只用于写入。一般用于非文本文件如图片等
wb+ 以二进制格式打开一个文件用于读写。一般用于非文本文件如图片等
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件进行写入。
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
"""
f = open("测试.txt","w")
f.write("这是第一句存储文字。")
#如果想将一些列字符串写入文件对象要使用f.writelines
f.writelines(["我是第二句\n","我是第三句"])
f.close()
运行效果:
常用的文件对象方法
"""
文件对象的方法
readable()方法用于检查文件是否可读。
writable()方法用于检查文件是否可写。
"""
f = open("../测试.txt","r+")# 打开一个文件用于读写
print(f.readable())
print(f.writable())
#因为他们是可以迭代的
for i in f:
print(i)
#当我们使用f.read()发现文件信息没读取出来,是因为上面的for循环跑完了此时指针定位到最后面
print(f.read())
print("上面一行信息是read不到文件信息")
#f.tell()方法用于获取文件指针的当前位置。查看出指针在最末尾所以导致f.read()读出不出文件内容
print(f.tell())
#可以使用f.seek()方法更改文件指针的位置 0 代表着起始位置 1 文件当前位置 2 文件末尾位置
f.seek(0)
print(f.read())
运行效果: