以下是代码:
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
?
答案 0 :(得分:2)
默认情况下,所有functions/methods
未指定return
值的return None
将return "Hello %s " % self.name
,因此您只需在打印方法时看到返回值。
print
而不是打印,或者只是在不使用self.name
的情况下调用方法。
在旁注中,您不需要也不应该在python中使用getter,只访问print first.name
{{1}}等。
答案 1 :(得分:0)
返回值,不要打印它:
def saying(self):
return "Hello %s " % self.name