老师,你好,你在7.7节展示案例代码时,有句语句没有看懂,麻烦您讲解一下
来源:7-7 自动化测试开发框架拓展之接口集成的实际案例分享

zzggsls
2023-04-18
老师,这句self,=args,我一直没有看懂,是把被装饰函数所有的参数都赋值给self吗?还有这句是涉及python哪块的语法?麻烦老师讲解一下,感谢
写回答
1回答
-
托尼老师
2023-05-22
self, = args 意思有两个:
1、首先是对位置参数*args进行解包,args是元组类型,根据元组的长度(也就是不定长位置参数的个数)来定义对应数量的变量来接收,所以赋值语句左侧的self, 就是对函数入参的第一个位置参数进行赋值;
2、self接收入参的第一个参数,其他参数被忽略,不做接收,所以写成self, = args
总结:装饰器内部只需要拿到被装饰函数的第一个位置参数,也就是被装饰函数所属的实例对象,从而访问到该实例对象的实例属性或类属性。
00
相似问题