为了账号安全,请及时绑定邮箱和手机立即绑定

跟源代码不一样还是能得出正确结果为啥

没有写继承类的super

还是通过了。这样写正确吗。哪位大神指导一下http://img1.sycdn.imooc.com//5a815f8300010abb20481536.jpg

正在回答

2 回答

首先,这样写肯定是不对的,不能养成这种习惯。其次,你不写继承类的super,在16行时Student类就只取到score=59,而紧接着并没对name,gender有取值的操作,17行对name的操作,类中没有name也可以,所以不会报错。

0 回复 有任何疑惑可以回复我~
#1

东来往北

请问一下, 为什么这一节用到了 __slots__ 就可以不用super来继承父类所有属性了
2018-07-14 回复 有任何疑惑可以回复我~
#2

慕粉7269117 回复 东来往北

不是可以不用super,是因为这里父类并没有赋值属性,才没有出错。
2018-07-21 回复 有任何疑惑可以回复我~

你在s.name = 'Tim'的时候其实是给s这个实例增加了name属性

你可以在s.name = 'Tim'上面增加一个print s.name 看看,一定会报错

s = Student('Bob', 'male', 59)

print s.name

s.name = 'Tim'

s.score = 99

print s.score

Traceback (most recent call last):
 File "index.py", line 19, in
   print s.name
AttributeError: name

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
python进阶
  • 参与学习       255533    人
  • 解答问题       3038    个

学习函数式、模块和面向对象编程,掌握Python高级程序设计

进入课程

跟源代码不一样还是能得出正确结果为啥

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号