Discuss / Python / 抄作业

抄作业

Topic source

import functools

def log(text):

    @functools.wraps(text)

    def decorator(fcn):

        def wrapper(*args,**kw):

            if type(text)!=str:

                print('call %s():' % fcn.__name__)

            else:

                print('%s %s():' % (text,fcn.__name__))

            return fcn(*args,**kw)

        return wrapper    

    if type(text)==str:

        return decorator

    else:

        return decorator(text)

@log

def f1():

    print('可以@log')

@log('execute')

def f2():

    print('可以@log()')

print(f1(),f2())


  • 1

Reply