Crossin的编程教室

标题: 第50课的子类问题,TypeError: __init__() takes exactly 2 arguments (3 ... [打印本页]

作者: 变色幽灵    时间: 2017-12-19 23:11
标题: 第50课的子类问题,TypeError: __init__() takes exactly 2 arguments (3 ...
按照教程一样的编写了,为什么报错了呢?
#encoding:utf-8
class vehicle:
    def __init__(self,speed):
        self.speed = speed
    def drive(self,distance):
        print 'need %f hour(s)' %(distance/self.speed)
class bike(vehicle):
    pass
class car(vehicle):
    def __inti__(self,speed,fuel):
        vehicle.__init__(self,speed)
        self.fuel = fuel
    def drive(self,distance):
        vehicle.drive(self,distance)
        print 'need %f fuels' %(distance*self.fuel)

b = bike(15.0)
c = car(80.0,0.012)
b.drive(100.0)
c.drive(100.0)

WX20171219-231048@2x.png

作者: 散不开暧昧    时间: 2017-12-20 09:29
好像两个init不一样
作者: TED    时间: 2017-12-20 09:30
12.20.png
主要问题是下边init被误写成inti了

另外这个__init__的下划线,还是给带上吧,原因的话看这里http://python.jobbole.com/81129/


作者: braid    时间: 2017-12-20 09:37
你对car类进行初始化时候应该是def __inti__(self,speed,fuel):
作者: 变色幽灵    时间: 2017-12-20 10:49
soga。。。
低级错误
作者: 变色幽灵    时间: 2017-12-20 10:52
TED 发表于 2017-12-20 09:30
主要问题是下边init被误写成inti了

另外这个__init__的下划线,还是给带上吧,原因的话看这里http://pyth ...

下划线我是加了的,
在mac这个自带的idle里显示不出来而已,目前还没办法输入中文,显示不到下划线。
复制粘贴到txt里是有的。

改天下载个提示更新版本的idle试试看行不行
作者: TED    时间: 2017-12-20 10:55
变色幽灵 发表于 2017-12-20 10:52
下划线我是加了的,
在mac这个自带的idle里显示不出来而已,目前还没办法输入中文,显示不到下划线。
复 ...

哦哦 难怪是空着的




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