老师,你好,你在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

总结:装饰器内部只需要拿到被装饰函数的第一个位置参数,也就是被装饰函数所属的实例对象,从而访问到该实例对象的实例属性或类属性。

0
0

Python自动化测试开发实战,能帮你就业的测试课

开发高扩展、高可用的自动化测试框架,利用好测试自动化技术。

445 学习 · 157 问题

查看课程