簡體   English   中英

導入的模塊打印出無

[英]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.

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