2013-04-02 42 views
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!!" 

以上代码的输出如下所示。面向对象的python构造函数和类方法

Honda silver BEEEEEEEEPPPPPPP 
Done 
None 
Good Bye!! 

输出

Honda silver BEEEEEEEEPPPPPPP 
Done 

此的前两行由mycar.honk印刷()。

我也明白四号线

Good Bye!! 

我不明白,从那里在第三行“无”从何而来?有人可以解释吗?

也是另一个相关的问题

是什么declerations

class SportsCar: 

class SportsCar(object): 

我已经看到无论是在不同的地方declerations之间的区别?

+2

每个问题请提出一个问题。 –

回答

9

函数总是默认情况下返回值为None

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

print mycar.honk() 

您只需调用mycar.honk()没有print声明。该方法是它自己的打印。

+0

你能看到问题更新吗?谢谢 – liv2hak

+0

请参阅http://stackoverflow.com/questions/54867/old-style-and-new-style-classes-in-python –

0

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