转自:https://www.cnblogs.com/BH8ANK/p/9009937.html
可能是自己理解能力差,网上看了一大堆教程,完全没搞懂。
自己敲几行代码,终于理解是怎么回事了。
#python 3.6
#!/usr/bin/env python
# -*- coding:utf-8 -*-
__author__ = 'BH8ANK'
def a(b):
print("1111111111111")
b()
print('2222222222222')
@a
def b():
print("BBBBBBBBBB")
上面代码运行后,输出:
我们来看另一段代码:
#python 3.6
#!/usr/bin/env python
# -*- coding:utf-8 -*-
__author__ = 'BH8ANK'
def a(b):
print("1111111111111")
b()
print('2222222222222')
def b():
print("BBBBBBBBBB")
c = a(b)
这段代码运行后输出如图:
至此,我们可以看到,@xxxx的作用,就是执行XXXX(并将下面的函数作为参数)