#通过debug在第一行打断点调试就可以很清楚的知道注解的执行流程 print("=====python功能加强=====") ### 当使用@时调用,并且将变量传递进来 def annotation(a_value): print ("init annotation ==>> :" + a_value) ### 当使用@时调用,并且将被加强的函数当作参数传入进来 def function(function_name): print("init =>> function : " + str(a_value) + " " + str(function_name)) ### 当被加强的方法调用时加强功能才被调用 def arguments(**parameter): print("call ==>> : " + str(a_value) + " " + str(function_name)) return function_name(**parameter) return arguments return function ### @annotation(a_value="test") 可以转变为 test=annotation(a_value="test")() @annotation(a_value="test") def test(): print "ok" ### 使用代码方式展现功能加强 def x(): print "x" t = annotation("call test")(x) print("====================") t()
08-02
3万+