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} '''