1.装饰器函数高阶函数;
2.将原函数作为装饰器函数的参数;
3.在装饰器函数中定内部函数,在内部函数中执行原函数。
4.将新增的功能添加到内部函数中;
5.将内部函数返回;
6.将返回的内部函数替代原函数。
def L(func):
def n():
print(“开始执行…”)
func()
print(“执行结束…”)
return n
# 装饰器的语法糖
L ==> odd = w(odd) def odd():
for i in range(10):
if i % 2 == 1:
print(i)
odd()import time def run_time(n):
def _run_time(func):
def run(*args,**kwargs):
start = time.time() # 时间戳
for i in range(n):
func(*args,**kwargs)
print("运行的均时间:
",(time.time()-start)/n)
return run
return _run_time
@run_time(10)
def func1(n):
s = 0
for i in range(n):
for j in range(n):
for k in
range(n):
s +1
print(s)
func1(100)
装饰器的应用场景:登录验证、写日志、执行时间、权限管理
装饰器是代码的一种设计模式。
文件操作
读操作:将磁盘文件中的字符串加载进内存。
写操作: 将内存中的的字符串存储到磁盘中。
open(file,mode=“r”,encoding=“utf-8”)
执行open函数后返回文件对象。
mode=“r"时,可以使用 read方法。
mode=“w"时,可以使用 write方法。
file 参数:指文件名。
当要读写的文件和python程序在同一目录时,写文件名即可。
绝对路径:“D:\test\a.txt” 或 r"D:\test\a.txt” 不转义字符串
相对路径:上一曾路径 r”…\b.txt"
w 模式:只写模式,当文件不存在时,会创建文件并写入数据。文件存在时,会覆盖文件。
f = open(“hello.txt”,mode=“w”,encoding=“utf-8”)
f.write(" “)
f.close()
r 只读模式:默认模式,只能读取文件,文件不存在时,会报错。
f = open(“hello.txt”,encoding=“utf-8”)
print(f.read(20))
readline按行读取数据,每次读取一行
print(f.readline(),end=”")# print(f.readline(),end="")
readlines() 将字符串按行存入列表读取出来print(f.readlines()) f.close()
a 追加模式:文件不存在时,创建文件,文件存在时,将新的内容添加到文件末尾。
windows 默认gbk字符集