Я импортирую модуль, содержащий класс. Это методы этого класса (некоторые из них):
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-адрес вызываемой страницы.
Почему первая версия не выводит ничего? Работает (т.е. получает страницу и не вызывает никаких ошибок).
Ваша первая версия возвращает только то значение, которое вы хотели бы видеть в качестве вывода. Вторая версия действительно печатает это значение.
Если бы я был вами, я бы рассмотрел сохранение возвращаемого значения вызова первой версии в переменную и печать этой переменной. Это должно решить вашу проблему.
repr
этого HTML). Пожалуйста, отредактируйте, чтобы предоставить полный интерактивный сеанс (настолько малый, насколько это возможно, но воспроизводящий это поведение), который я и другие могут скопировать и вставить для проверки (и информацию о версии Python, версии ОС и т. Д.).