Discuss / Python / 可以帮忙看看第二个练习我写的对么,谢谢

可以帮忙看看第二个练习我写的对么,谢谢

Topic source
def log(arg):
    def decorator_default(func):
        @functools.wraps(func)
        def wrapper(*args, **kwargs):
            print('call %s()' % func.__name__)
            return func(*args, **kwargs)

        return wrapper

    def decorator_with_text(func):
        @functools.wraps(func)
        def wrapper(*args, **kwargs):
            print('call %s(): %s' % (func.__name__, arg))
            return func(*args, **kwargs)

        return wrapper

    if callable(arg): 
        return decorator_default(arg)
    elif type(arg) == str:
        return decorator_with_text
    else:
        return


@log
def fun1():
    print('without arg log\n')


@log('hahahahahaha')
def fun2():
    print('with arg log\n')


fun1()
fun2()

少粘贴了一行

import functools

不过意思到了就好。

if callable(arg):

请问可调用和不可调用是什么意思啊


  • 1

Reply