[Python] typing 모듈 및 타입 어노테이션

JinUk Lee·2023년 12월 15일

python 개념 공부

목록 보기
2/14

타입 어노테이션

타입 어노테이션은 파이썬에서 데이터 타입을 표기하는 것이다.

파이썬은 동적언어로 다른 언어들이 변수를 선언할 때 미리 타입을 지정하는 것과 다르게 변수 타입 선언 없이 변수를 사용할 수 있고, 필요에 따라 자유 자재로 다른 타입으로 변경 가능하다.

그러나 이러한 점이 때때로 오류의 원인이 되기 때문에 파이썬에서도 타입 어노테이션의 필요해졌고 파이썬 3.5에서 기능이 도입되었다.

기본 타입 어노테이션

기본 타입은 변수 뒤에 타입을 표기해준다.

age: int = 30
avg: float = 3.5
is_active: bool = True
name: str = "Cathy"

또한, 함수에서도 인자 및 반환값에 대해 어노테이션을 할 수 있다.

def hi(name: str) -> str:
    return "Hi, " + name

복합 타입 어노테이션

복합 타입은 리스트, 튜플, 딕셔너리 등등 데이터의 집합을 말한다.

복합 타입 어노테이션을 하기 위해 typing 모듈을 사용해야한다.

from typing import List, Tuple, Dict

# 리스트
day: List[str] = ["Monday","Tuesday","Sunday"]

# 튜플
day: Tuple[str, int] = ("Monday",5)

# 딕셔너리
day: Dict[str, int] = {"Monday":1,"Sunday":7}

Union

Union 은 여러 타입을 허용한다.

description: Union[str, None] = "lskdmf"

그런데 3.10 이후로는 모듈이 필요없어졌다.

# 기존 방식
description: Union[str, None] = None

# 3.10버전 방식
description: str | None = None

| 연산자로 Union 모듈을 대체하여 사용가능하다.

FastAPI에서는 타입어노테이션 개념을 알아야하기때문에 정리했다.

profile
개발자 지망생

0개의 댓글