当前位置: 代码迷 >> 综合 >> 骚气的Python之装饰器
  详细解决方案

骚气的Python之装饰器

热度:33   发布时间:2024-01-20 03:47:30.0

装饰器是Python的特性,采用了闭包的思想,使用得当可简化代码,提高可读性。

装饰器的特点是只运行一次,就是说不能动态添加装饰器,只能在需要装饰的方法上手动添加装饰器。

下面举个简单的例子

import datetime
def logtime(f):def setf(*args, **kw):print(datetime.datetime.now())return f(*args, **kw)return setf@logtime
def f():print("i am f")f()

输出:

2019-05-23 17:03:37.415021
i am f

上面的例子是一层闭包,下面介绍下两层闭包

两层闭包就是在闭包再嵌套一个闭包

import datetime
def logtime(time):print(time)def _logtime(f):def setf(*args, **kw):print(datetime.datetime.now())return f(*args, **kw)return setfreturn _logtime@logtime("2019年5月23日")
def f():print("i am f")f()
f()

输出:

2019年5月23日
2019-05-23 17:13:43.106003
i am f
2019-05-23 17:13:43.106223
i am f

 

  相关解决方案