2015-04-04 87 views
1

下面是代碼:Python的打印無

class className: 
    def createName(self, name): 
     self.name = name 

    def displayName(self): 
     return self.name 

    def saying(self): 
     print "Hello %s " % self.name 

first = className() 
second = className() 

first.createName('Bob') 
second.createName('Tony') 


print first.displayName() 
print second.displayName() 

print 20*"_" 

print first.saying() 
print second.saying() 

的問題如下 - 當我打電話第二種方法(說)爲什麼結果:

Hello Bob 
None 
Hello Tony 
None 

爲什麼None

回答

2

所有functions/methods默認情況下未指定return值將爲return None,因此在打印方法時只會看到返回值。

要麼return "Hello %s " % self.name而不是打印,或者只是在不使用print的情況下調用該方法。

在一個側面說明,你不需要和蟒蛇不宜用干將,訪問self.name只是print first.name等。

+0

謝謝你真是太棒了! – SakoBu 2015-04-05 00:54:20

0

返回值,不打印:

def saying(self): 
    return "Hello %s " % self.name