Decorative device notes, decorative notes
# The decorator is designed to implement new functions without modifying the original function code and calling methods by nested functions.
# The function name is actually the memory address of the function without adding (). The complete function name is to execute this function.
Import time
Def timer (func): # High-order function: the real parameter is the function name, and the returned value is also the function name.
Def test3 (* args, ** kargs): # nested function: (* args, ** kargs) is used to adapt to the required Parameter Function.
Start_time = time. time ()
Func (* args, ** kargs)
Stop_time = time. time ()
Print ('% s' % (start_time-stop_time ))
Return test3
@ Timer
Def test1 ():
Time. sleep (1)
Print ('IN the test1 ')
@ Timer
Def test2 (name ):
Time. sleep (1)
Print ("in the % s" % name)
Test1 ()
Test2 ('cen ')