簡體   English   中英

Python打印無

[英]Python prints None

這是代碼:

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

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

return "Hello %s " % self.name而不是打印,或者只調用該方法而不使用print

附帶一提,您不需要也不應在python中使用getter來訪問self.name只需print first.name等。

返回值,請勿打印:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM