Daily Develope

[Python] Typing 본문

카테고리 없음

[Python] Typing

noggame 2023. 10. 17. 16:00

의미

Type checking을 위해 데이터의 유형을 명시적으로 나타내기 위해 사용하는 Class (또는 Type)

자주 사용되는 Type

Any : 모든 Type과 호환되는 Type

Union : Union 리스트에 선언된 Type 중 하나에 해당함을 의미

def foo(arg: Union[int, float] = None) -> None:
#    arg는 int 또는 float 유형
#    ...

Optional : Optional 리스트에 선언된 Type이거나 None인 경우를 의미

def foo(arg: Optional[int] = None) -> None:
#    ...

가끔 사용되는 Type

NoReturn : function의 반환값이 없음을 명시적으로 표현

from typing import NoReturn

def stop() -> NoReturn:
    raise RuntimeError('no way')

Final : Override 불가능한 Type 선언시 사용

MAX_SIZE: Final = 9000
MAX_SIZE += 1  # Error reported by type checker

class Connection:
    TIMEOUT: Final[int] = 10

class FastConnector(Connection):
    TIMEOUT = 1  # Error reported by type checker

참고

Python3 - typing docu.

Comments