2015-04-04 79 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