작성
·
201
·
수정됨
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
hjy648012님, 질문해주신 내용에 대한 답변입니다.
파이썬의 isPrime
함수를 보면, 주어진 x
가 소수인지 판별하는 기능을 하는데, 먼저 2부터 x
-1까지의 숫자 중 x
를 나눌 수 있는 수가 있는지 확인합니다. 만약 x
를 나눌 수 있는 수가 있다면 (if x % i == 0
), 즉 x
가 소수가 아니라면 바로 return False
를 하여 함수를 종료합니다.
이 경우는 for
루프가 중간에 return False
를 만나 함수가 종료되었기 때문에, 루프 이후의 코드가 실행되지 않습니다. 그리고 만약 for
루프를 모두 실행하여 루프 내에서 return False
가 발생하지 않았다면 x
는 소수이므로 함수의 최종 반환 값으로 return True
를 합니다.
여기서 else
를 사용하지 않는 이유는, if
문 내에서 이미 return
이 실행되어 함수가 종료되면 else
를 사용할 필요가 없기 때문입니다. else
부분에 해당하는 코드는 암묵적으로 나머지 경우가 모두 처리된 후 실행될 것으로 간주되니까요. 따라서 else
를 명시적으로 쓰지 않고 바로 return True
를 작성해도 논리적으로는 문제가 없습니다.
코딩하실 때 함수가 언제 종료되고 반환값이 어떻게 결정되는지를 명확히 이해하면 else
쓰임에 대해 더 잘 파악하실 수 있을 거예요.