虽然说经常用装饰器,但是自己没有写过装饰器,今天突然想到这个,然后搜索了下,发现挺简单的。
def say_hello(func):   
    def new_func(name):
        print "hello "
        return func(name)
    return new_func
 
@say_hello
def tesing(name):
    print name
tesing("David") #hello David
带参数的装饰器,和不带参数的装饰器,不一样,中间多了一个函数。
def greet(greet_word):
	def decorator(func):
		def wapper(func_param):
			print greet_word + " "
			return func(func_param)
		return wapper
	return decorator
@greet("hey")
def meet(name):
	print name
meet("join") # hey join