python缺少必须的位置参数:self问题
2020-07-07 本文已影响0人
小迷糊仙
最近捣鼓接口自动化测试过程,遇到好些问题,其中在对测试数据进行参数化时,执行后总是提示:
TypeError: get_data() missing 1 required positional argument: 'self'
附上代码:
![](https://img.haomeiwen.com/i14781814/a9310e112e60ca8d.jpg)
![](https://img.haomeiwen.com/i14781814/8ed870accac9aee0.jpg)
调试了一上午,找不到原因,后来,各种百度,分析,终于....有点眉目,往下看
解决办法:把get_data()函数放到class TestApiLogin外面,问题得以解决
![](https://img.haomeiwen.com/i14781814/259b951ff9aaf578.jpg)
因为如果放在class内部,下面调用函数是需要实例化传参的,
究其原因,是对python中的self原理和用法不够熟悉,似是而非,个人总结,self相当于实例化对象本身,对于类中的方法,在一开始给定self,如果非要不写self,那就是在没有定义也没有调用的情况下,可以不写self,以上纯属个人体会,如有不当,欢迎指正~~~
这里推荐一篇文章,关于self用法详解,笔者认为写的比较详细:
https://blog.csdn.net/CLHugh/article/details/75000104