카테고리 없음
[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