在调用父类方法传参时,speed=None问题
来源:3-7 飞机大战项目敌方飞机类的封装
木苗
2020-05-15 15:05:08
=None写在哪是个问题,如图,2,4就是正确的,1,3情况上面的speed是灰色,提示说这个参数没有被使用,实例化传的参数并没有起作用。感觉在调用父类方法时,就算父类的speed=None,在调用时也不能写成=None。请老师解释一下
1回答
好帮手慕觉浅
2020-05-15
同学你好:我们可以发现,1和3中speed不起作用的原因是他们都在调用父类构造方法时使用了speed = None,如下图。因为在调用父类的__init__()方法时直接赋值成了None,没有用到上面的speed参数,因此是无用的参数。
在2中,上面的speed如果传递了参数则为传递值,如果没有则为None值,而这个值无论是什么都会在下一行中调用父类的__init__()时使用,因此是有用的参数,如下图。
在4中也是类似的,这个speed会在调用父类的__init__()时使用,是有用的参数。
如果解决了你的疑惑,请采纳,祝学习愉快~
相似问题