Python打印无

时间:2015-04-04 22:58:46

标签: 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 个答案:

答案 0 :(得分:2)

默认情况下,所有functions/methods未指定return值的return Nonereturn "Hello %s " % self.name,因此您只需在打印方法时看到返回值。

print而不是打印,或者只是在不使用self.name的情况下调用方法。

在旁注中,您不需要也不应该在python中使用getter,只访问print first.name {{1}}等。

答案 1 :(得分:0)

返回值,不要打印它:

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