(왕초보) None이 왜 뜨는 걸까요?
조회수 358회
class Friend:
def __init__(self, name, phone):
self.name = name
self.phone = phone
def get_name(self, input_name):
self.name = input_name
def get_phone (self, input_phone):
self.phone = input_phone
name = input('이름 입력:')
phone = input('전화번호 입력:')
f = Friend(name,phone)
print(f.get_name(name))
print(f.get_phone(phone))
을 실행하면
None
None
이렇게 뜹니다 뭐가 문제고 해결 방법은 무엇인가요?
2 답변
-
return 값이 없기 때문입니다.
"get_"이 붙은 메소드가 일반적으로 "set_"이 붙은 메소드처럼 사용되고 있습니다.def get_name(self): return self.name def set_name(self, name): self.name = name
-
함수에 return값이 설정되지 않았기 때문입니다. 다음과 같은 식으로 수정해보세요.
class Friend: def __init__(self, name, phone): self.name = name self.phone = phone def get_name(self, input_name): self.name = input_name return self.name def get_phone (self, input_phone): self.phone = input_phone return self.phone name = input('이름 입력:') phone = input('전화번호 입력:') f = Friend(name,phone) print(f.get_name(name)) print(f.get_phone(phone))
또는
class Friend: def __init__(self, name, phone): self.name = name self.phone = phone def get_name(self, input_name): print(input_name) def get_phone (self, input_phone): print(input_phone) name = input('이름 입력:') phone = input('전화번호 입력:') f = Friend(name,phone) f.get_name(name) f.get_phone(phone)
댓글 입력