• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

안녕하세요 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을 안시킨거죠??

답변 1

답변을 작성해보세요.

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 를 사용한 것과 같은 논리적 흐름이라고 생각하시면 됩니다.

김영훈님의 프로필

김영훈

질문자

2021.03.13

감사합니다.