본문 바로가기
Programming/Python

python typing optional

by 데이터현 2022. 3. 23.

python에서는 굳이 타입을 명시하지 않아도 duck typing (동적 타이핑)을 통해 객체의 타입이 결정된다.

 

이는 편리하다는 장점이 있지만, 코드가 많아지게 되면 뭐가 뭔지 알아보기 힘들다는 단점이 있다.

 

이를 보완하기 위해 파이썬에서는 typing을 지정할 수 있게 typing 모듈을 제공한다.

https://docs.python.org/3/library/typing.html

 

typing — Support for type hints — Python 3.10.3 documentation

Note The Python runtime does not enforce function and variable type annotations. They can be used by third party tools such as type checkers, IDEs, linters, etc. This module provides runtime support for type hints. The most fundamental support consists of

docs.python.org

 

최근 leetcode 문제를 풀다가 optional 타입이 있는 것을 봤다. Swift의 Optional과 같은 건지 확인했는데 의미는 비슷하다.

 

변수에 None 값이 들어올 수 있으면 Optional을 사용한다.

 

from typing import Optional

def type_optional(val: Optional[int]) -> bool:
    if val is None:
        print('None 값')
        return False
    else:
    	print('정수')
        return True
        
# 정수값
type_optional(1234)
# None
type_optional(None)

val이라는 매개변수로 Optinoal int로 받아온다. int 값 이거나 None값이 올 수도 있다는 뜻, 반환은 bool 형태로 반환

 

- python typing은 따로 제약사항은 없다.

'Programming > Python' 카테고리의 다른 글

Python이 느린 이유?  (0) 2022.04.02
python 다중 할당 동작방식  (0) 2022.03.23
python의 LEGB 규칙  (0) 2022.01.11
python 함수의 생성과 호출  (0) 2022.01.11
python 비교 연산자와 is 연산자  (0) 2022.01.11

댓글