함수 정의할 때 return의 차이
1. 자동으로 None을 리턴
def return_case_1():
return
def return_case_2():
return None
def return_case_3():
test_a = 1
2. return None을 사용해야할 때
- ~가 아닌 경우
- 목적으로 하는 대상이 아닌 경우에는 명시적으로 None값을 리턴.
TESTS = {"test1", "test2"}
def get_test(test):
if test in TESTS:
return test
return None
if __name__ == "__main__":
if get_test("test1") is not None:
print("테스트 입니다.")
else:
print("None입니다. ")
3. return을 사용할 때
- early return의 경우 많이 사용
- 맥락 상 break과 유사한 효과 (break은 반복문 중단, return은 함수 실행 중단)
- 무언가를 리턴하기 보다는 실행 중단의 의미가 크다
4. return을 사용하지 않을 때
- 함수가 무언가를 반환하는게 목적이 아닌, 단순 연산이 목적일 경우
- 연산이 끝난 후 연산 성공/실패를 반환하는 경우가 아닌, 단순히 글로벌 변수 연산이 목적인 경우 return을 사용하지 않는다.