[英]Imported module prints out None
我不確定是否有人已經問過這個問題,但是我找不到我要找的東西,所以我們開始吧。 我創建了一個名為xxx.py的模塊。 這是里面的東西:
class A(object):
def aaa(self):
print "Ahaaaa!!!!!!!!!!!!!!!"
另外我還有另一個腳本ex45.py:
from xxx import A
xxx = A()
print xxx.aaa()
當我運行python ex45.py時,我得到以下信息:
PS E:\python\ex\ex45> python ex45.py
Ahaaaa!!!!!!!!!!!!!!!
None
為什么會出現“ None” ???
我的目的是編寫multipe腳本,在其中創建要在另一個腳本中使用的類。 我確信有更好的編碼方法,但是我現在正在學習python,我想了解一切工作原理。
PS:我正在使用python 2.7.9。 並從這本書中學習“學習Python”。
這是因為您的aaa()
方法返回None
。 例如,您先打印出一些內容,然后還打印出返回值。 嘗試這個:
from xxx import A
xxx = A()
xxx.aaa()
這(一次一個):
class A(object):
def aaa(self):
return "Ahaaaa!!!!!!!!!!!!!!!"
看看會發生什么。
aaa
方法將輸出"Ahaaaa!!!!!!!!!!!!!!!"
並且不返回任何內容(在Python中什么都不返回實際上返回None
)。 然后,在ex45.py
,打印aaa
的返回值,即None
。
要解決該問題,您可以執行xxx.aaa()
(不print
),或者在aaa
方法中返回"Ahaaaa!!!!!!!!!!!!!!!"
而不是print
它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.