python简单装饰器问题

简单 装饰 python
lulubukema  
网友的回答
有毒的少女


所谓装饰器就是把函数包装一下,为函数添加一些附加功能,装饰器就内是一个函数,参数为容被包装的函数,返回包装后的函数:你可以试下:

def d(fp):
    def _d(*arg, **karg):
        print "do sth before fp.."
        r fp(*arg, **karg)
        print "do sth after fp.."
        return r
    return _d
@d
def f():
    print "call f"
上面使用@d来表示装饰器和下面是一个意思
f  d(f)
f()调用f


王子恭贺

s = 'CCACCCTCGTGGTATGGCTAGGCATTCAGGAACCGGAGAACGCTTCAGACCAGCCCGGACTGGGAACCTGCGGGCAGTAGGTGGAAT' print len(s) count = 0 or char in range(len(s)): print char '''i list(s()) == 'C': count += 1 else s(char) == 'G': # s(g)是函数的调...1

陈果果122

print len(s) count = 0 or char in range(len(s)): print char '''i list(s()) == 'C': count += 1 else s(char) == 'G': # s(g)是函数的调用方式,但是s是个字符串,不是函数 count = count + 1'''...

土豆豆的焦糖

简单来讲,可以不严谨地把Python的装饰器看做一个包装函数的函数。 比如,有一个函数: de unc(): print 'unc() run.' i '__main__' == __name__: unc() 运行后将输出: unc() ru...

芯是酸的

这篇文章主要介绍了Python合并多个装饰器小技巧,本文用改写调用函数的方式... 装饰器,或者多个,有啥办法把多个合并成一行呢? 上面的函数执行过程应该是 代码如下...

无形风9596

不知道,可能不能在装饰器跳出主函数吧