面向对象的python构造函数和类方法

时间:2013-04-02 20:28:42

标签: python class methods

#!/usr/bin/env python

class SportsCar(object):

        def __init__(self,make,colour):
                self.make = make
                self.colour = colour
                self.horn = "BEEEEEEEEPPPPPPP"

        def honk(self):
                #now we can make some noise!
                print self.make,'  ',self.colour,'  ',self.horn
                print "Done "


mycar = SportsCar('Honda','silver')
#print mycar.make 
#print mycar.colour

print mycar.honk()


print "Good Bye!!"

以上代码的输出如下。

Honda    silver    BEEEEEEEEPPPPPPP
Done 
None
Good Bye!!

输出的前两行

Honda    silver    BEEEEEEEEPPPPPPP
Done

这是由mycar.honk()打印的。

我也理解第4行

Good Bye!!

我不明白第三行的“无”来自哪里?有人可以解释一下吗?

另一个相关问题

变相之间有什么区别

class SportsCar:

class SportsCar(object):

我一直在不同地方看到这两种情况。?

2 个答案:

答案 0 :(得分:9)

函数总是具有返回值,默认为None

您正在打印.honk()方法的返回值,这是默认的None

print mycar.honk()

您可以在没有 mycar.honk()声明的情况下致电print 。该方法自己进行打印。

答案 1 :(得分:0)

你没有在你的honk方法中返回任何内容,因此它默认返回None。