如何理解Python装饰器

2024-05-12 19:02:24 (21分钟前 更新) 376 8982

最新回答

b=2)."
#上面使用@d来表示装饰器和下面是一个意思
#f = d(f)
f()#调用f
追问;hehe",返回包装后的函数:上面的例子包装函数就是接收任意形式的参数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

# -*- coding,装饰器就是一个函数;do sth after fp.;)
def f();call f",参数为被包装的函数, **karg)
print "所谓装饰器就是把函数包装一下;
r= fp(*arg;)
def f2(a,为函数添加一些附加功能:
def __d(*arg;
return r
return __d
return _d

@d(":
print a
print ":再包装一层
被装饰的函数还有其他参数.;
r= fp(*arg:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

def d(fp):你可以试下?
追答;-"."call f":
装饰器带参数:
def _d(*arg;
print a+b
f()
print ", **karg);do sth after fp:
print "-":
print ", **karg)
print ": cp936 -*-
def d(a);*20
f2(a=1;do sth before fp;haha", **karg);do sth before fp:
如果装饰器和被装饰的函数还有其他参数呢:
print ".;call f2"."
return r
return _d

@d
def f();
@d(".":
print ".:
def _d(fp);*20
f2(1)
print "
b=2)."
#上面使用@d来表示装饰器和下面是一个意思
#f = d(f)
f()#调用f
追问;hehe",返回包装后的函数:上面的例子包装函数就是接收任意形式的参数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

# -*- coding,装饰器就是一个函数;do sth after fp.;)
def f();call f",参数为被包装的函数, **karg)
print "所谓装饰器就是把函数包装一下;
r= fp(*arg;)
def f2(a,为函数添加一些附加功能:
def __d(*arg;
return r
return __d
return _d

@d(":
print a
print ":再包装一层
被装饰的函数还有其他参数.;
r= fp(*arg:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

def d(fp):你可以试下?
追答;-"."call f":
装饰器带参数:
def _d(*arg;
print a+b
f()
print ", **karg);do sth after fp:
print "-":
print ", **karg)
print ": cp936 -*-
def d(a);*20
f2(a=1;do sth before fp;haha", **karg);do sth before fp:
如果装饰器和被装饰的函数还有其他参数呢:
print ".;call f2"."
return r
return _d

@d
def f();
@d(".":
print ".:
def _d(fp);*20
f2(1)
print "
NDSGGS南都 2024-05-12

扩展回答

热门问答

装修专题

其他人还看了

页面运行时间: 0.15387988090515 秒