이것은 파이썬에서 만든 첫 번째 프로그램으로, 로그인하거나 사용자를 등록하는 데 사용되는 API로 작업하고 있습니다. 나는 아래의 코드로이 클래스를 테스트왜 파이썬 클래스의 객체가 반환 데이터 대신 주소를 반환합니까?
class MyClass:
...
def __init__(self, apikey, gameid, securitykey, responseformat,
username=None, password=None, email=None)
self.apikey = apikey
self.gameid = gameid
self.securitykey = securitykey
self.responseformat = responseformat
if username and password:
self.userlogin(username,password)
if username and password and email:
self.userregistration(username, password, email)
''' And there are function userlogin and userregistration
i'll show just one of them '''
def userregistration(self, username, password, email):
securitypayload = self.buildurl(username, password, email)
user = requests.get('url', params = securitypayload)
if 'error' in user.text:
return user.text
else:
return 'Success!'
:
api_test = MyClass('apikeyadfasdf', 'gameiddfdfd', 'seckey34324324', 'JSON',
'admin', 'pass1')
print(api_test)
나는이 같은 결과를 얻었다 :
<package1.package2.file_name.MyClass object at 0x7f278388b48>
그러나 때
이처럼 내 클래스는 모습입니다 내 테스트를 다음으로 변경합니다.
api_test = MyClass('apikeyadfasdf', 'gameiddfdfd', 'seckey34324324', 'JSON',
'admin', 'pass1')
data = api_test.userregistration(username, password, email)
print(data)
나는 그것을 할 것이고 출력을 얻겠지만, 그 함수를 두 번 실행할 것이다.
나는 문제가있을 수있는 곳을 생각하고 있었고, 자바에서 toString()을 무시했을 때 비슷한 결과를 얻을 수 있다고 생각했다. 자, 나는 파이썬 이에 상응하는 내용에 대해 읽었습니다 : repr과 str하지만 처음에는 메소드 (self.apikey 등이 아닌)에서 데이터를 반환하는 방법을 모르고 두 번째로 나는 100 % 확실하지 않습니다. 주소가 아닌 제 출력물을 얻는 올바른 방법입니다.
당신은 내가 결과입니다 의심 일부 들여 쓰기 문제가 잘못 또는 무엇인가 붙여 넣기. 'def userregistration (self ...'etc ...)을 체크 할 수 있다면 그 라인과 다음 라인이 정확하게 들여 쓰기되어 있는지 확인하십시오. –
이제는 IDE에서와 똑같아 보이네요. –