-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
안녕하세요 static줄에서 질문이 있습니다.
21.03.11 18:50 작성 조회수 115
0
if inst._company == 'bmw':
return 'ok! this car is {}'.format(inst._company)
return 'sorry, this is no bmw'
1. 여기서 두번째 return 을 else: 로 하고 하면안되나요?
하게되면
else:
return "----------" 이렇게 해야하나요?
2. 제가 아직 tab 구간을 정확히 모르겠어요
두번째 return은 왜 tab을 안시킨거죠??
답변을 작성해보세요.
4
김경민
2021.03.12
안녕하세요!
1. 두번째 return을 else 안에 넣어주셔도 됩니다.
질문에 써주신 대로 들여쓰기를 잘 맞추셔서 하시면 됩니다.
if inst._company == 'bmw':
return 'ok! this car is {}'.format(inst._company)
else:
return 'sorry, this is not bmw'
2. 다만 강사님께서 else 없이 return을 바로 쓰신 이유는 else를 쓸 필요가 없기 때문입니다.
else가 실행되는 경우 는 - if문이 참이 아니라면 - 인건 이해하고 계실겁니다.
if 문의 조건이 참이라면 실행되지 않는 부분이죠.
해당 부분은 함수 안에 있고,
if 문의 조건이 참이라면, 첫번째 return에서 값을 반환하고 바로 함수가 끝나기 때문에
그 뒤에 있는 두번째 return은 else 가 없어도 실행되지 않습니다.
들여쓰기를 하지 않아도, 함수를 바로 끝낼 수 있는 if문 안의 첫번째 return 때문에
if / else 를 사용한 것과 같은 논리적 흐름이라고 생각하시면 됩니다.
답변 1