(왕초보) 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)
    

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)