我正在导入包含类的模块。这些是该类的方法(其中一些):
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。
为什么第一个版本没有输出任何东西?它正在工作(即它正在获取页面而不会引发任何错误)。
答案 0 :(得分:1)
您的第一个版本仅返回您希望作为输出看到的值。第二个版本实际上打印了这个值。
如果我是你,我会考虑将第一个版本的调用的返回值存储到变量中并打印该变量。这应该可以解决你的问题