在调用父类方法传参时,speed=None问题

来源:3-7 飞机大战项目敌方飞机类的封装

木苗

2020-05-15 15:05:08

=None写在哪是个问题,如图,2,4就是正确的,1,3情况上面的speed是灰色,提示说这个参数没有被使用,实例化传的参数并没有起作用。感觉在调用父类方法时,就算父类的speed=None,在调用时也不能写成=None。请老师解释一下

http://img.mukewang.com/climg/5ebe3e530920847513940265.jpg

http://img.mukewang.com/climg/5ebe3e620956b3d113860281.jpg

http://img.mukewang.com/climg/5ebe3e6d096a030512280181.jpg

http://img.mukewang.com/climg/5ebe3e7809f73adc13570291.jpg

写回答

1回答

好帮手慕觉浅

2020-05-15

同学你好:我们可以发现,1和3中speed不起作用的原因是他们都在调用父类构造方法时使用了speed = None,如下图。因为在调用父类的__init__()方法时直接赋值成了None,没有用到上面的speed参数,因此是无用的参数。

http://img.mukewang.com/climg/5ebe589c09908fbe05330426.jpg

在2中,上面的speed如果传递了参数则为传递值,如果没有则为None值,而这个值无论是什么都会在下一行中调用父类的__init__()时使用,因此是有用的参数,如下图。

http://img.mukewang.com/climg/5ebe591d09d97ad210600193.jpg

在4中也是类似的,这个speed会在调用父类的__init__()时使用,是有用的参数。

http://img.mukewang.com/climg/5ebe5a9f09523d8708420185.jpg

如果解决了你的疑惑,请采纳,祝学习愉快~


0

0 学习 · 8160 问题

查看课程