1.@符号会将后一个函数func2作为参数传给上一个函数func1,并且函数func2会被改变
例:
def func0(): print '执行func0函数' def func1(func2): print "执行func1函数" # 调用函数func2() s = func2() print 's=%s' % s return s + '_' + "func1_ret" # @func1 即 func1(func2) 执行结束后func2会被改变,依据func1的返回值决定,结束后再调用func2,只会执行改变后的func2,在现在的代码中,被改变成了字符串 @func1 def func2(): print "执行func2函数" return "func2_ret" def func3(): print '执行func3函数' print "开始执行" print func2