设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
楼主: crossin先生
打印 上一主题 下一主题

【Python 第50课】 面向对象(4)

[复制链接]

0

主题

0

好友

200

积分

中级会员

Rank: 3Rank: 3

楼主
发表于 2015-12-17 00:40:18 |显示全部楼层
本帖最后由 周末晒被子 于 2015-12-17 00:49 编辑

先生,我对__init__函数还是有点疑问,我试着在49课的例子改一下:

class Car:
    def _init_(self,speed):
        self.speed=speed
   
    def drive(self, distance):
        time = distance / self.speed
        print time

car1 = Car(30)                      #就是这一行报错了
car1.speed = 60.0
car1.drive(100.0)
car1.drive(200.0)

报错:TypeError: this constructor takes no arguments  为什么呢

这两天因为课程有点难,有点畏惧,但是我并不是天才啊,难就难吧。感谢先生这么良心的课程。
回复

使用道具 举报

0

主题

0

好友

200

积分

中级会员

Rank: 3Rank: 3

沙发
发表于 2015-12-17 15:08:01 |显示全部楼层
crossin先生 发表于 2015-12-17 14:19
__init__是两个下划线,内置函数都是两个下划线

嗯...沙发就有说,但我对“__init__是两个下划线”的“两个”理解成,一边一个一共两个...
回复

使用道具 举报

0

主题

0

好友

200

积分

中级会员

Rank: 3Rank: 3

板凳
发表于 2015-12-17 15:14:12 |显示全部楼层
crossin先生 发表于 2014-6-28 17:00
因为作为子类,有自己专属的__init__方法和drive方法,不能直接套用父类的

子类Bike(Vehicle))应该是直接套用了父类吧?
不能直接套用父类,是当,子类需要有自己的专属的方法时,才这么说的吧。
回复

使用道具 举报

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

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

GMT+8, 2024-5-3 12:14 , Processed in 0.017352 second(s), 22 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部