반응형
14.1 타입 힌트 문법
타입 힌트는 함수 인자와 반환값의 타입을 명시하는 방법입니다.
기본 타입 힌트
def add(a: int, b: int) -> int:
return a + b
def greet(name: str) -> str:
return f"Hello, {name}!"
리스트, 튜플, 딕셔너리 타입 힌트
from typing import List, Tuple, Dict
def process_list(data: List[int]) -> List[int]:
return [x * 2 for x in data]
def process_tuple(data: Tuple[int, int]) -> int:
return data[0] + data[1]
def process_dict(data: Dict[str, int]) -> int:
return sum(data.values())
Optional 타입
from typing import Optional
def find_item(items: List[int], target: int) -> Optional[int]:
try:
return items.index(target)
except ValueError:
return None
유니언 타입
from typing import Union
def process_value(value: Union[int, str]) -> str:
if isinstance(value, int):
return f"Integer: {value}"
elif isinstance(value, str):
return f"String: {value}"
14.2 타입 검사 (mypy)
타입 검사를 수행하려면 mypy
와 같은 도구를 사용할 수 있습니다. mypy
는 정적 타입 검사를 통해 코드의 타입 오류를 미리 확인할 수 있게 도와줍니다.
mypy 설치
pip install mypy
타입 검사 실행
mypy script.py
예시 코드와 함께 타입 검사를 수행하는 방법을 살펴보겠습니다.
example.py
from typing import List
def sum_list(numbers: List[int]) -> int:
return sum(numbers)
print(sum_list([1, 2, 3, 4, 5]))
타입 검사 실행
mypy example.py
타입 힌팅과 타입 검사를 통해 코드의 타입 안전성을 높이고, 잠재적인 버그를 줄일 수 있습니다.
예제
다음은 타입 힌팅과 타입 검사를 사용한 예제입니다.
type_hint_example.py
from typing import List, Tuple
def average(values: List[float]) -> float:
return sum(values) / len(values)
def greeting(name: str) -> str:
return f"Hello, {name}!"
def process_data(data: Tuple[int, int, int]) -> int:
return sum(data)
values = [1.0, 2.5, 3.8]
print(average(values))
name = "Alice"
print(greeting(name))
data = (1, 2, 3)
print(process_data(data))
타입 검사 실행
mypy type_hint_example.py
반응형
'Python 문법 > Python 기본 문법(3.10 기준)' 카테고리의 다른 글
[python3.10 기본] 16. 프로젝트 구성 및 배포 (0) | 2024.07.02 |
---|---|
[python3.10 기본] 15. 테스트와 디버깅 (0) | 2024.07.02 |
[python3.10 기본] 13. 비동기 프로그래밍 (0) | 2024.07.02 |
[python3.10 기본] 12. 표준 라이브러리 및 외부 라이브러리 사용 (0) | 2024.07.01 |
[python3.10 기본] 11. 모듈과 패키지 (1) | 2024.07.01 |