Crossin的编程教室

标题: 《面向对象》里的两点疑问,求大神解答 [打印本页]

作者: 刘转转    时间: 2018-2-4 13:30
标题: 《面向对象》里的两点疑问,求大神解答
捕获.PNG
就是公众号课程里的第50课,面向对象(四),第一个疑问是关于黑线圈出来的地方,这个初始化值为什么是self.speed=speed呢?
上一课的代码里面初始化值是speed=0,这个我理解的是赋了初始值为0的那个speed,在调用时即为self.speed,所以图中化黑线的地方有点不太懂,它俩难道不是一个吗?
class Car:
   speed=0
   def drive(self,distance):
         time=distance/self.speed


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

作者: TED    时间: 2018-2-4 23:17
第一个问题,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试了下代码,没有报错。。






欢迎光临 Crossin的编程教室 (https://bbs.crossincode.com/) Powered by Discuz! X2.5