Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 오버라이딩
- JIT
- ChainMap
- 싱글톤
- defaultdict
- 자바
- 121
- 백준
- react
- overriding
- PYTHON
- GCP Storage
- Oracle
- select
- DAO의 분리
- 청크
- DAO
- 쓰는이유
- 리스트 자르기
- null
- orderedDict
- Spring Framework
- 외부조인
- java
- 파이썬
- spring
- 데이터베이스
- 싱글톤 레지스트리
- 스프링
- 개발기록
Archives
- Today
- Total
PengTory
[Python] Typing 모듈 본문
LeetCode 문제를 풀던중 아래와 같은 형식으로 양식이 주어진 것을 보았다.
Optional[TreeNode] 와 관련해서 찾아보던 중 파이썬에 Typing이라는 것이 있는 것을 알고 정리해보았다.
class Solution:
def invertTree(self, root: Optional[TreeNode]) -> Optional[TreeNode]:
Typing
파이썬은 변수의 타입을 일일이 명시하지 않아도 되고 특정 변수의 타입이 중간에 바뀌어도 되는 동적언어이다.
다른 언어에 비해 배우기 쉽고 빠르게 프로그래밍이 가능하다는 장점이 있지만, 잘못된 타입을 사용하여 예상치 못한 에러를 마주할 수 있다는 단점이 있다.
이러한 문제를 해결하기 위해 최근 이러한 동적 언어들에 타입을 명시하고자 하는 수요가 늘고 있다. 파이썬에서는 Typing이 이에 해당하며 버전 3.5부터 지원한다.
먼저 파이썬에서 타입 힌트를 사용하기 위해서는 typing 모듈을 import 해야한다.
- List, Dict, Tuple, Set
타입 어노테이션을 사용하다 보면 파이썬 내장 자료 구조에 대한 타입 명시가 필요할 때가 있다. 이때는 typing 모듈이 제공하는 List,Dict, Tuple, Set를 사용해 타입 어노테이션을 추가하면 된다
from typing import List, Dict, Tuple, Set
nums: List[int] = [1,2,3,4,5]
countries: Dict[str, str] = {"KR": "Seoul", "CN": "Beijing"}
user: Tuple[int, str, bool] = (1, "minsoo", True)
chars: Set[str] = {"a", "b", "c"}
- Final
재할당이 불가능한 변수, 즉 상수에 대한 어노테이션을 추가할 때는 Final을 사용한다.
from typing import Final
TIME_OUT: Final[int] = 7
- Union
여러 개의 타입이 허용될 수 있는 상화에서는 Union을 사용할 수 있다.
from typing import Union
def toString(num: Union[int, float]) -> str:
return str(num)
- Optional
None이 허용되는 함수의 매개 변수에 대한 타입을 명시할 때 유용하다.
class Solution:
def invertTree(self, root: Optional[TreeNode]) -> Optional[TreeNode]:
'Python 이것저것' 카테고리의 다른 글
[Python] list 원하는 갯수대로 자르기 (0) | 2023.01.17 |
---|