参数的分类
形参:位置参数、默认参数、*args、命名关键字参数、**kwargs 实参:位置参数、关键字参数 命名关键字参数:定义在*后面的位置参数和默认参数叫作命名关键字参数;用来限制实参必须以关键字的形式传值。 默认参数:默认参数通常要定义成不可变类型
可变长参数
按位置定义的可变长度的实参: 由*接收,保存成元组类型。
按关键字定义的可变长度的实参:由**接收,保存成字典的形式。
装饰器
#认证函数 def auth(func): def wrapper(*args,**kwargs): res=func(*args,**kwargs) return res return wrapper @auth def index(): #无参 print('welecome to index') @auth def home(name): #有参 print('welecome %s to home page' %name) index()