簡體   English   中英

Python:為什么我的函數不顯示解釋器中返回的內容?

[英]Python: Why does my function not display what's being returned in the interpreter?

在Python交互式解釋器中:

我正在導入包含類的模塊。 這些是該類的方法(其中一些):

    def do_api_call(self, params):
        return self.__apicall(params)

    def __apicall(self, params):
        return urllib2.urlopen(self.endpoint, params).read()

當我導入該類並使用方法do_api_call()時,它在完成運行時不會輸出任何內容。

    def do_api_call(self, params):
        print(self.__apicall(params))

    def __apicall(self, params):
        return urllib2.urlopen(self.endpoint, params).read()

我創建該類的實例並運行該方法:

myapi = MyAPIClass()
myapi.do_api_call(params={'param': 'value'})

但是,當我執行第二個版本時(請注意打印功能),它將輸出被調用頁面的HTML。

為什么第一個版本不輸出任何內容? 它正在工作(即,它正在獲取頁面並且沒有引發任何錯誤)。

您的第一個版本僅返回您希望在輸出中看到的值。 第二個版本實際上會打印該值。

如果您是我,我會考慮將對第一個版本的調用的返回值存儲到變量中並打印該變量。 那應該解決你的問題

暫無
暫無

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

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