python装饰器@

   def   login(func):#func=page

            def  inner(): 

                  print ('you have verified sucess')

                      return func()#这里等于以前的那个page函数

             return inner

@login

  def  page ():

          print ('welcome to  web home page ')

 执行login函数会去扫描@代码,把page函数当成参数传入到login函数中,函数是有返回值的,这时page函数被重新定义,login(page)的返回值就是login里的函数体,现在的page也就是被重新赋值,

之后我们调用page()是执行重新赋值的page。