装饰器与参数
参数;
实参和形参
实参:调用函数的时候传入的参数。
形参:
位置参数:必须传值
默认参数:可以不传
动态参数:
def ccc(*args):
print(args)
ccc(11,2, ,3, ,4,5,67,8) #按位置传参
def ddd(**kwargs):
print(kwargs)
ddd(k='a',j='b') #按关键字传参
应用场景:
#func
1.计算func的执行时间 @timmer
2.登录认证 @auth
@auth
@timmer
func
解耦 1. 尽量的让代码分离,小功能之间的分离
2. 目的:提高代码的重要性。
多个装饰器装饰同一个函数:
#!/usr/bin/env python
_*_ coding:utf-8_*_
def decorator1(func):
def inner():
print('开始之前执行 装饰器01')
ret = func()
print('结束之后执行装饰器01')
return ret
return inner
def decorator2(func):
def inner():
print('decorator>>>Start...')
ret = func()
return ret
return inner
@decorator1
@decorator2
def index():
print('执行函数。。。')
index()
输出结果:
开始之前执行装饰器01
decorator2>>>Start...
执行函数...
decorator2>>>End...
结束之后执行装饰器01
🌈