#!/usr/bin/env python
def run(fn):
def do_hello():
print "begin..."
fn()
print "end."
return do_hello
@run
def hello():
print "Hello World!"
if __name__ == '__main__':
hello()
修饰符@也可也可以用多個,先加 @run_b 再加@run
@run
@run_b
def hello():
print "hello world!"
上面使用的是function也可使用class
class entryExit(object):
def __init__(self, f):
self.f = f
def __call__(self):
print "Entering", self.f.__name__
self.f()
print "Exited", self.f.__name__
@entryExit
def func1():
print "inside func1()"
@entryExit
def func2():
print "inside func2()"