设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 13016|回复: 1
打印 上一主题 下一主题

《面向对象》里的两点疑问,求大神解答

[复制链接]

2

主题

0

好友

22

积分

新手上路

Rank: 1

跳转到指定楼层
楼主
发表于 2018-2-4 13:30:57 |只看该作者 |倒序浏览
捕获.PNG
就是公众号课程里的第50课,面向对象(四),第一个疑问是关于黑线圈出来的地方,这个初始化值为什么是self.speed=speed呢?
上一课的代码里面初始化值是speed=0,这个我理解的是赋了初始值为0的那个speed,在调用时即为self.speed,所以图中化黑线的地方有点不太懂,它俩难道不是一个吗?
class Car:
   speed=0
   def drive(self,distance):
         time=distance/self.speed


然后第二个疑问就是按照给的案例,却运行出现这样的提示,不知道是否是因为我装的是python3的原因...
跪求各位大神解答
回复

使用道具 举报

6

主题

2

好友

654

积分

实习版主

Rank: 7Rank: 7Rank: 7

沙发
发表于 2018-2-4 23:17:13 |只看该作者
第一个问题,self.speed=speed是获取speed值,例如你的b = Bike(15.0)这里class Bike(Vehicle)继承Vehicle,那么15.0其实就相当于Vehicle(15.0),15.0是作为_init_(self,speed)中的speed值,需要通过赋值赋给self.speed。所以self.speed = speed其实就相当于self.speed = 15.0

报错原因可能是空格或者缩进问题?是粘贴的代码么? 把图片中标红的b=Bike(15.0)删掉自己手打下试试。我用python3试了下代码,没有报错。。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-11-22 09:39 , Processed in 0.025254 second(s), 26 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部