Discuss / Python / 也说个方法

也说个方法

Topic source

AlWays_MU

#1 Created at ... [Delete] [Delete and Lock User]
class log(object):
    def __init__(self, arg):
        self.arg = arg

    def __call__(self, fn=None, *args):
        if type(fn) == FunctionType:
            def wrapper(*args, **kwargs):
                print "in log: %s" % fn.__name__
                return fn(*args, **kwargs)
            return wrapper
        else:
            print "in log: %s" % self.arg.__name__
            return self.arg(fn, *args)


@log
def first_func(str1, str2):
    print "inside first function " + str1 + ' ' + str2


@log('ahaaaaaaaa....')
def second_func(str):
    print "inside second function " + str

  • 1

Reply