设为首页收藏本站

Crossin的编程教室

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

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

[复制链接]

2

主题

0

好友

40

积分

新手上路

Rank: 1

楼主
发表于 2017-11-15 14:27:06 |显示全部楼层
class Vehicle(object):
    def __init__(self,speed):
        self.speed = speed

class Car(Vehicle):
    def __init__(self, speed, distance, oil_spent):
        Vehicle.__init__ = speed
        self.distance = distance
        self.oil_spent = oil_spent
    def cost(self):
        f = self.distance * self.oil_spent
        print('we need %s fuels' %f)

class Bike(Vehicle):
    pass

bike = Bike(40)
car = Car(80,100,0.012)
print(car.cost)

我是自己写的,为什么我只能查到一大串内存值,像这样:
<bound method Car.cost of <__main__.Car object at 0x0173ABD0>>
回复

使用道具 举报

2

主题

0

好友

40

积分

新手上路

Rank: 1

沙发
发表于 2017-11-16 08:41:39 |显示全部楼层
crossin先生 发表于 2017-11-15 19:32
cost是函数,后面的括号呢
看下函数那几课

嗯,谢谢。后来自己也发现了。但是执行后会多一行结果None,这是为啥
回复

使用道具 举报

2

主题

0

好友

40

积分

新手上路

Rank: 1

板凳
发表于 2017-11-16 17:07:40 |显示全部楼层
crossin先生 发表于 2017-11-16 09:04
你没有 return
看下函数的返回值那课

谢谢,但以前一直没注意到这个问题,比如:
def isequal(x,y):
    if x == y:
        print('Equal!')
    else:
        print('Not eaqual')
我没有写return,执行后也并未出现None值
>>> isequal(1,2)
Not eaqual
>>> isequal(2,2)
Equal!
回复

使用道具 举报

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

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

GMT+8, 2024-5-3 17:05 , Processed in 0.028960 second(s), 22 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部