파이썬에서 return 문 없이 정의된 함수는 호출 시 자동으로 None을 반환합니다. 이런 함수를 흔히 void 함수(반환값 없는 함수)라고 부릅니다.
반대로 None이 아닌 특정 값을 반환하려면 함수 내부에 반드시 return 문을 작성해야 하며, 이렇게 값을 돌려주는 함수는 fruitful 함수(결과값 있는 함수)라고 합니다.
None, True, False는 문자열이 아니다
None, True, False와 같은 값들은 문자열이 아니라 파이썬 문법에 포함된 특수한 키워드입니다. 따라서 따옴표로 감싸지 않고 그대로 사용해야 하며, 별도의 선언 없이 언제든 사용할 수 있습니다.
return 문이 없으면 자동으로 None 반환
파이썬은 함수의 끝까지 실행되었는데 명시적인 return 문이 한 번도 실행되지 않았다면, 자동으로 None 값을 반환합니다. 즉, 개발자가 아무것도 지정하지 않아도 파이썬이 암묵적으로 return None을 처리해 주는 셈입니다.
프로시저(Procedure)란?
어떤 함수들은 결과를 계산해 반환하는 것이 목적이 아니라, 화면에 출력하거나 파일에 데이터를 기록하는 등 순수하게 동작(action)만 수행하기 위해 존재합니다. 이런 함수들을 프로시저(procedure)라고 부릅니다.
예제 코드
아래 예제는 return 문이 없는 함수가 None을 반환하는 모습을 보여줍니다.
def lyrics():
pass
a = lyrics()
print(a)실행 결과
Nonepass문은 아무 동작도 수행하지 않는 자리표시자(placeholer)입니다. lyrics() 함수는 return 문이 전혀 없으므로, 변수 a에는 None이 할당되고 출력 결과로 None이 표시됩니다.