共计 763 个字符,预计需要花费 2 分钟才能阅读完成。
导读 | 这篇文章简单介绍一下 python 装饰器,希望对你们有所帮助。 |
简单正常 python 例子:
def up(text): | |
return text.upper() #转成大写 | |
def lo(text): | |
return text.lower() ## 转成小写 | |
def greet(func): | |
gt = func("AbCd") | |
print (gt) | |
greet(up) | |
greet(lo) |
简单的装饰器:
import time | |
def c_time(func): | |
def inner(*args, **kwargs): | |
begin = time.time() | |
func(*args, **kwargs) | |
end = time.time() | |
print("程序运行实际总时间:", end-begin) | |
return inner | |
@c_time #fac = c_time(fac) | |
def fac(name): | |
time.sleep(3) | |
print(name + '睡了 3 秒') | |
fac("张三") |
简单带参数的装饰器:
import time | |
def out(type): ## 相当于套多一层函数 | |
def c_time(func): | |
def inner(*args,**kwargs): | |
begin = time.time() | |
func(*args,**kwargs) | |
end = time.time() | |
if type==2: | |
print("这是类型 2,带参数的") | |
print("程序运行实际总时间:", end-begin) | |
return inner ## 每层都需要返回函数 | |
return c_time ## 每层都需要返回函数 | |
def fac(name): | |
time.sleep(3) | |
print(name + '睡了 3 秒') | |
fac("张三") |
正文完
星哥玩云-微信公众号
