python代码错误解决


import functools
def log(text):
    def decorator(func):
        @functools.wraps(func)
        def wrapper(*args,**kw):
            print('begin call %s %s' % (text,func.__name__))
            return func(*args,**kw)
            print('end call %s %s' % (text,func.__name__))
        return wrapper
    return decorator
@log
def now():
    print('2021-10-16')

now()

运行上述代码时,总是出现这样的错误提示,要怎么样解决呢,之前也有出现过,但是一直没有找到解决的办法
错误提示:TypeError: decorator() missing 1 required positional argument: 'func'

decorator没有传参啊

代码的缩进有问题,可运行代码如下:

import functools


def log(text):
    def decorator(func):
        @functools.wraps(func)
        def wrapper(*args, **kw):
            print('begin call %s %s' % (text, func.__name__))
            return func(*args, **kw)
            print('end call %s %s' % (text, func.__name__))
            return wrapper
        return decorator
    return text
@log
def now():
    print('2021-10-16')

now()


你错误提示没贴啊。
不过你写法有个问题

@log 这行应该改为
@log(text="这里为你想记录的内容")