Python Function Annotations (100줄 이내 설명)
Python Function Annotations는 함수 매개변수와 반환 값에 대한 타입 힌트 및 메타데이터를 제공하는 기능입니다. Python 3.5+ 부터 사용 가능하며, def
키워드 함수 정의 시 콜론 :
뒤에 표현식을 사용하여 어노테이션을 추가합니다.
핵심은 리턴 타입을 강제하는 것이 아니라, 개발자나 IDE 와 같은 도구에게 가독성을 높이기 위한 방법이다.
문법:
def function_name(param1: type_hint, param2: type_hint = default_value) -> return_type_hint:
# 함수 내용
return value
param1: type_hint
: 매개변수param1
에 대한 타입 힌트param2: type_hint = default_value
: 매개변수param2
에 타입 힌트 및 기본값 설정-> return_type_hint
: 함수 반환 값에 대한 타입 힌트
예제:
def greet(name: str, greeting: str = "Hello") -> str:
"""사람에게 인사하는 함수."""
return f"{greeting}, {name}!"
print(greet("Alice")) # 출력: Hello, Alice!
print(greet("Bob", "Hi")) # 출력: Hi, Bob!
주요 목적 및 장점:
- 코드 가독성 향상: 함수 시그니처를 명확히 보여주어 코드 이해도를 높입니다.
- 정적 타입 검사:
mypy
같은 도구로 타입 에러를 사전 검출, 코드 품질 향상. - IDE 지원: IDE 자동 완성 및 오류 표시 기능 강화, 개발 생산성 향상.
- 문서화: 함수 인터페이스 명확화, 자동 문서 생성 도구 활용 용이.
중요 포인트:
- 런타임에 강제되지 않음: Python 인터프리터는 어노테이션을 무시하고 실행합니다.
- 타입 힌트는 "힌트"일 뿐: 타입 불일치해도 런타임 에러는 발생하지 않습니다.
- 정적 분석 도구 활용 필수:
mypy
등을 사용하여 타입 힌트의 효과를 봐야 합니다. - 어노테이션은 임의의 표현식 가능: 타입 힌트 외 다른 메타데이터도 표현 가능하지만, 타입 힌트 용도로 주로 사용됩니다.
결론: Function Annotations는 Python 코드의 품질 향상에 기여하는 유용한 기능입니다. 타입 힌트를 적극 활용하고 정적 분석 도구를 함께 사용하는 것이 중요합니다.
'프로그래밍 > Python' 카테고리의 다른 글
파이썬 - 비동기 컨텍스트 매니저 async with .. as .. (0) | 2025.03.20 |
---|---|
파이썬 - Coroutine과 await (0) | 2025.03.20 |
파이썬 - Generator & Iterator (0) | 2025.03.19 |
파이썬 - yield 키워드 (0) | 2025.03.19 |
파이썬 - pass 키워드 (0) | 2025.03.19 |