Python的函数修饰符其实就相当于是调用这个函数。
举个栗子:看下面的函数,没有被以传统的方式 函数名(参数1,参数2...) 被调用,但也执行了。
import time
def tiemlong(func):
start = time.clock()
print("it is starting")
func()
print("it 's ending")
end = time.clock()
return end - start
@tiemlong
def f():
print("我被调用啦")
输出的结果为:
it is starting
我被调用啦
it 's ending
所以这种方式就是,当流程走到@timelong 的时候就会去调用timelong函数,他修饰的是f(), f()就是timelong 的参数。
需要注意的:
1. 函数先定义,再修饰它;反之会编译器不认识;
2. 修饰符“@”后面必须是之前定义的某一个函数;
3. 每个函数只能有一个修饰符,大于等于两个则不可以。
它的应用:主要用在了 插入日志,性能测试,事务处理上。
如果后面遇到这些问题再完善啦~~