0
#!/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!!

我不明白第三行中的“无”从何而来?有人可以解释一下吗?

还有另一个相关的问题

declerations 之间有什么区别

class SportsCar:

class SportsCar(object):

我一直在不同的地方看到这两种说法。?

4

2 回答 2

9

默认情况下,函数总是有一个返回值None

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

print mycar.honk()

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

于 2013-04-02T20:29:48.037 回答
0

您没有在 honk 方法中返回任何内容,因此默认情况下它返回 None 。

于 2013-04-02T20:32:01.257 回答