Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python 함수에서 None(void)을 반환하는 방법 총정리

Python 함수의 반환값 기본 개념

Python은 동적 타이핑(dynamic typing) 언어이기 때문에 함수를 정의할 때 반환 타입을 별도로 지정하지 않습니다. 그 결과, 함수는 어떤 타입의 값이든 자유롭게 반환할 수 있으며, 여기에는 None도 포함됩니다.

None은 Python에서 "아무것도 없음"을 나타내는 특별한 객체입니다. 만약 함수 내부에 return 문이 없다면, 함수는 실행이 끝나는 시점에 자동으로 None을 반환합니다.

void 함수란 무엇인가?

이처럼 의미 있는 값을 반환하지 않고 단순히 작업만 수행하는 함수를 흔히 void 함수라고 부릅니다. Python에서 void 함수는 사실상 None을 반환하는 함수와 같습니다.

None을 반환하는 세 가지 방법

1. return 문 없이 함수 종료 (암묵적 반환)

def greet():
    print("안녕하세요!")
    # return 문이 없으므로 자동으로 None 반환

result = greet()
print(result)  # 출력: None

2. return 단독 사용

함수 중간에 실행을 종료하고 싶다면 return만 단독으로 사용하면 됩니다. 이는 return None과 완전히 동일하게 동작합니다.

def process(data):
    if not data:
        return  # return None과 동일
    print("데이터 처리 중...")

3. return None 명시적 작성

def check(value):
    if value < 0:
        return None
    return value * 2

타입 힌트로 의도 명확하게 하기

코드 가독성을 높이고 싶다면 타입 힌트(type hint)를 활용해 함수가 None을 반환한다는 것을 명시적으로 표현할 수 있습니다.

def log_message(msg: str) -> None:
    print(f"[LOG] {msg}")

이렇게 하면 다른 개발자가 함수의 동작을 더 쉽게 이해할 수 있으며, 정적 분석 도구(mypy 등)의 검사에도 도움이 됩니다.

정리

  • Python은 동적 타이핑 언어이므로 반환 타입을 지정할 필요가 없습니다.
  • return 문이 없는 함수는 자동으로 None을 반환합니다.
  • return 단독 사용은 return None과 동일합니다.
  • 타입 힌트(-> None)를 사용하면 코드의 의도를 명확히 전달할 수 있습니다.