传参后仍出现缺省参数的提示
提示:TypeError: add() missing 1 required positional argument: 'name' 的问题解决 在实例化后调用函数传参总出现
TypeError: add() missing 1 required positional argument:"xxxx" 的问题,如:
![](https://img.haomeiwen.com/i14015071/9d9160bfb8787437.png)
![](https://img.haomeiwen.com/i14015071/30668766a7e78160.png)
他提示我们缺省参数那就添加参数不久行了吗? 哈哈!不行
![](https://img.haomeiwen.com/i14015071/132ccef419318100.png)
![](https://img.haomeiwen.com/i14015071/01d38827211b3c40.png)
add()函数中传参初始化后不建议将里面的参数删除,因为这时无用的。那么将add(self)中的self删除呢,答案是肯定的,不行。继续修改,那么在调用时指定参数传递呢?也不行!
![](https://img.haomeiwen.com/i14015071/db2137508be1feff.png)
![](https://img.haomeiwen.com/i14015071/bff5f23596f06aef.png)
其实这种写法是存在问题的,首先Classmate.add("xxx"),其实这个类 并没有实例化,在用的时候应改写成Classmate().add("xxx")
![](https://img.haomeiwen.com/i14015071/8b477af84e2b0c88.png)
![](https://img.haomeiwen.com/i14015071/013a8af18c0ce6d3.png)
所以总结:在我们定义函数和类的时候,在第一个参数的位置默认应该添加self,例如add(self,str,str1),然后我们在调用的时候应该首先实例化这个类,如Classmate().add("xxx"),而非直接调用Classmate.add("xxx")
网友评论