35.6 심사문제
, 박 지우님이 작성안녕하세요 :)
35.6 심사문제를 풀다가 의문이 생긴 코드가 있어 질문하게 되었습니다.
from_string 함수 안에서 마지막으로 return cls(hour, minute, second)을 쓰는 이유가 뭔지 모르겠습니다.
감사합니다.
Re: 35.6 심사문제
, 도장_ 관리자님이 작성"return cls(hour, minute, second)"를 쓰지 않습니다.
해설에는 다음 부분입니다.
그다음에는 time = cls(hour, minute, second)와 같이 클래스에 변수를 넣어서 인스턴스를 만듭니다. 여기서 cls(hour, minute, second)는 Time(hour, minute, second)와 같습니다. 그리고 인스턴스는 바깥에서 사용할 수 있도록 return으로 반환해줍니다. 만약 정적 메서드로 만들었다면 cls를 받지 않았으므로 인스턴스를 만들 때는 Time(hour, minute, second)로 만들면 됩니다.
포럼 상단 공지에 파이썬 시각화로 코드 실행을 테스트해보세요.
온라인 시각화에서는 input()을 사용하지 못하니 문자열을 코드로 넣어주면 됩니다.
time_string = '23:12:24'
time = cls(hour, minute, second) | |
return time |
여기서 __init__ 초기화가 실행됩니다.
단계별로 실행되면 초깃값이 설정됩니다.
Time 클래스의 인스턴스 time을 반환합니다. time 인스턴스에는 값 23, 12, 24가 설정되어 있습니다. Time instance로 표기됩니다. Time 클래스의 인스턴스라는 뜻입니다.
값을 출력하고 실행이 종료된 상태입니다.