装饰器 作业
Topic source关于小结2,求助一下同学们。
我第一次是这样写的:
def log(*text):
def decorator(func):
@functools.wraps(func)
def warpper(*args,**kw):
print('{} {}'.format(text,func.__name__))
return func(*args,**kw)
return warpper
return decorator
@log()
def func1():
print("没有")
@log('hello')
def func2():
print("有")
func1()
func2()
我想用可变参数做,代码看起来似乎没啥毛病,但是输出是这样的:
() func1
没有
('hello',) func2
有
为什么装饰器把括号、单引号和逗号这些符号都加进去了?我是哪儿出的毛病?
- 1
黑漆漆的四壁
练习
小结1
小结2