关于魔法参数的问题
1、魔法参数是不是就是用来代替其他形参的,如果在重写原本的方法时不需要修改之前的一部分参数,就直接用*args **kwargs来代替这一部分不需要修改的参数,我的理解是对的吗
2、魔法参数使用的时候必须*args **kwargs成对使用吗
3、魔法参数一般的应用场景有哪些
求老师解答,谢谢
17
收起
正在回答
1回答
同学,你好。
1、*args代表不定长参数,“不定长”意味着你在定义函数的时候不知道调用者会传递几个参数进来,加了星号 * 的参数会以元组(tuple)的形式导入,存放所有未命名的变量参数。
**kwargs允许传递不定长的关键字参数。若需要在函数中定义不定长个命名参数,需要使用**kwargs。
def func(name, *args, **kwargs): # 注意:*的不定长参数被当做元组处理,**的不定长参数被当做字典处理 print(name) # Tom print(args) # (1, 2, 3) print(kwargs) # {'a': 4, 'b': 5, 'c': 6} func("Tom",1,2,3, a=4, b=5, c=6)
2、在重写原本的方法时不需要修改之前的一部分参数,若需要使用之前方法中的参数时,在子类继承父类时,直接在方法中传入之前的参数就可以,确定传递哪些参数时可以不用魔法参数
例:
如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~
3.从网页搭建入门Python Web
- 参与学习 人
- 提交作业 218 份
- 解答问题 3562 个
本阶段带你用Python开发一个网站,学习主流框架Django+Flask是Python Web开发的第一步,在基础知识上实现积分商城的项目开发,体验真实的项目开发流程,提高解决编程问题和效率的能力。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星