您的位置:首页 > 编程语言 > Python开发

python 装饰器例子

2014-12-16 11:52 344 查看
1,测试a

#!/usr/bin/env python

def a(fn):
print 'a>>>>'
def d(stc):
print stc+'d>>>>>'
fn(stc);
return d

def b(fn):
def e(args):
print 'b>>>'
fn(args)
return e

@b
@a
def c(st):
print "dddddd"

c('>>c>>')

输出
#!/usr/bin/env python

def a(fn):
print 'a>>>>'
def d(stc):
print stc+'d>>>>>'
fn(stc);
return d

def b(fn):
def e(args):
print 'b>>>'
fn(args)
return e

@b
@a
def c(st):
print "dddddd"

c('>>c>>')

a包-->b包-->b内-->a内-->--c内

2,测试b

import time

def timeit(func):
def wrapper(args):
start = time.clock()
func(args)
end =time.clock()
print 'used:', end - start
return wrapper

@timeit
def foo(arg):
print 'in foo(),arg is' + arg
foo("aaaaa")


输出
in foo(),arg isaaaaa
used: 2.37460347614e-05


3,测试c
import time

def timeit(s):
def wrapper1(func):
print 'sfsdfsddf'
def wrapper2(args):
print "the decorator's arg is"+s
start = time.clock()
func(args)
end =time.clock()
print 'used:', end - start
return wrapper2
return wrapper1

输出
sfsdfsddf
the decorator's arg ishello
in foo(),arg isaaaaa
used: 1.87174626943e-05
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: