def demo(funce):
  print('======')
  return funce
# @demo  #test=demo(test)
# def test():
#   print('test函数运行')
# test()     #打开与不打开,不一样
@demo    #Foo=demo(Foo)
class Foo():
  pass

F1 = Foo()
print(F1)


'''打印部分
======
<__main__.Foo object at 0x00BED6B0>
'''
def demo(obj):
  print('======',obj)
  obj.a = 1
  obj.b = 2
  obj.c = 3
  return obj
@demo    #Foo=demo(Foo)
class Foo():
  pass
F1 = Foo()
print(F1)
print(Foo.__dict__)



'''打印部分
====== <class '__main__.Foo'>
<__main__.Foo object at 0x00BED5B0>
{'a': 1, 'c': 3, '__doc__': None, '__module__': '__main__', 
'__dict__': <attribute '__dict__' of 'Foo' objects>, '__weakref__':
<attribute '__weakref__' of 'Foo' objects>, 'b': 2} '''

 函数的装饰器

def demo(obj):
  print('======',obj)
  obj.a = 1
  obj.b = 2
  obj.c = 3
  return obj
@demo    #test=demo(test)
def test():
  print('运行test')
# test()
print(test.__dict__)

'''打印部分
====== <function test at 0x00BEE270>
{'a': 1, 'c': 3, 'b': 2}
'''

  

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

 

  

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄