标签:item number 简洁 效果 日志 loaded block 变量作用域 ret
局部作用域
全局作用域
函数名可以作为参数输入
函数名可以作为返回值
def outer():
x = 10
def inner():
print(x)
return inner
如果在一个内部函数里,对在外部作用域(不在大全局作用域)的变量进行引用,那么内部函数就被认为是闭包(closure)
inner是一个内部函数,inner里引用了外部作用域的变量x(x在外部作用域outer里面,但是不是全局作用域),则这个内部函数inner就是一个闭包
import time
?
?
# 实现装饰器类
def show_time(func):
def inner(*args, **kwargs):
start = time.time()
func(*args,**kwargs)
end = time.time()
return end-start
return inner
?
# 系统写法,简洁优雅
添加额外的功能
通过外嵌一个函数实现
示例代码
import time
?
def logger(flags=False):
# 实现装饰器类
def show_time(func):
def inner(*args, **kwargs):
start = time.time()
func(*args,**kwargs)
end = time.time()
if flags:
print("启动记录日志的功能")
return end-start
return inner
return show_time
?
# 系统写法,简洁优雅
示例效果
标签:item number 简洁 效果 日志 loaded block 变量作用域 ret
原文地址:https://www.cnblogs.com/nuochengze/p/13286140.html