半只蚂蚁 发表于 2017-5-2 08:26:49

python中修饰符@的使用

  # -*- coding: utf-8 -*-
  #!/usr/bin/env python
  def spamrun(fn):
  def sayspam(*args):
  print "spam,spam,spam "
  fn(*args)
  return   
  return sayspam
  @spamrun
  def useful(a,b):
  print a**2+b**2
  useful(3,4)
  def myDeco(args):
  print("Hello ,I'm Decorator!")
  print("args:",args) #处理参数 
  def _myDeco(func):#处理函数 
  def __myDeco(*args,**kwargs): #处理函数的参数 
  print ("function name: %s " % (func.__name__) )
  ret = func(*args,**kwargs)
  return ret
  return __myDeco
  return _myDeco
  @myDeco("my_name")
  def run(a,b):
  print("func run start:")
  print("---------------")
  print("run(%s,%s)" % (a,b))
  print("---------------")
  print("func run end")
  run(1,2)
  class myDecorator(object):
  def __init__(self, fn):
  print "inside myDecorator.__init__()" , fn.__name__
  self.fn = fn
  def __call__(self,*args):
  self.fn(args)
  print "inside myDecorator.__call__()" ,args,args,args
  @myDecorator
  def aFunction(a=0,b=0,c=0):
  print "inside aFunction()"
  print "Finished decorating aFunction()"
  aFunction(1,2,3)
页: [1]
查看完整版本: python中修饰符@的使用