파이썬 대화 형 인터프리터에서 :
클래스가 포함 된 모듈을 가져오고 있습니다. 다음은 그 클래스 (그들 중 일부)의 방법이 있습니다 :파이썬 : 내 함수가 인터프리터에서 반환되는 것을 표시하지 않는 이유는 무엇입니까?
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()
나는 클래스의 인스턴스를 생성하고 방법을 실행하지만, 그것은되고있는 페이지의 HTML을 출력 내가 두 번째 버전을 수행 할 때
myapi = MyAPIClass()
myapi.do_api_call(params={'param': 'value'})
이 (인쇄 기능에주의를) 라는.
왜 첫 번째 버전에는 아무 것도 출력되지 않습니까? 작동 중입니다 (즉, 페이지를 가져오고 오류가 발생하지 않음).
당신이 묘사하는 행동은 불가능한 것 같습니다 (첫 번째 버전은 대신 그 HTML의'repr'을 표시해야합니다). 필자와 다른 사람들이 복사하여 붙여 넣기하여 (파이썬 버전, OS 버전 등의 정보) 완벽한 대화 형 세션을 제공하도록 편집하십시오 (가능하면 작지만이 동작을 재현하십시오). –
그건 내가 생각한거야. 불가능한. 나는 더 많은 코드를 얻을 것이다. 가장 큰 문제는 print() 함수의 유일한 변경으로 문자 그대로 정확한 코드를 두 번 사용한다는 것입니다. – orokusaki
BTW, 내 버전은 2.6 (최신 버전)이고 OS는 Windows XP입니다. – orokusaki