상세 컨텐츠

본문 제목

Python 22. 변수 타입 어노테이션

파이썬

by 아리벱 2024. 3. 22. 17:23

본문

혼자서 코드를 작성하는 경우에는 변수 타입을 헷갈리지 않는 경우가 있지만 여러 사람과 같이 코드를 작성하고 공유하다보면 변수 타입 때문에 오류가 나는 경우가 종종 생깁니다. 따라서 변수 타입을 코드에 작성하여 표현하면 코드 작성에 더 효율적일 수 있습니다.

변수 타입을 코드에 명시하는 방법을 변수 타입 어노테이션이라고 합니다.

 

1. 변수 타입 어노테이션

변수 타입 어노테이션은 파이썬 3.5부터 도입된 기능으로, 변수의 예상 타입을 명시하는데 사용됩니다. 이는 주로 코드의 가독성을 높이고, 정적 타입 검사 도구(예: mypy)를 사용하여 타입 오류를 사전에 잡아내기 위한 목적으로 사용됩니다.

타입 어노테이션은 실제로 변수의 타입을 강제하는 것이 아니라, 개발자가 변수가 어떤 타입을 가져야 할 것으로 예상하는지 명시하는 것입니다.

 

2. 기본 타입 어노테이션

각 코드 문단 2번째 행이 타입 어노테이션이 활용된 코드입니다.

 

string, integer뿐만 아니라 list, tuple, dictionary, set등 폭넓은 자료구조에서도 활용됩니다.

 

3. 리스트, 튜플, 딕셔너리, 세트

컬렉션 타입에 대한 어노테이션은 조금 더 복잡합니다. 이를 위해 List, Tuple, Dict, Set 등의 제네릭 타입을 사용하게 됩니다. 이러한 타입들은 typing 모듈에서 가져올 수 있습니다.

 

더 나아가 함수, 클래스에서도 어노테이션이 활용됩니다.

우선 함수의 예시부터 알아보겠습니다.

4. 함수

화살표를 통해 결과값의 타입을 알려줍니다.

.__annotations__를 통해 객체와 리턴값 모두의 타입을 출력해줍니다.

 

5. 클래스

__str__ 오버라이딩을 통해 객체 주소를 문자열화하여 return값이 출력되기 때문에 return값은 문자열입니다.

또 return이 없는 경우에는 타입이 None입니다.

 

6. 옵셔널

변수가 특정 타입이거나 None일 수 있는 경우 Optional을 사용합니다.

'채주완'은 딕셔너리내의 키이기 때문에 값이 출력됩니다.

반면 '부메랑'은 딕셔너리내의 키도 아닌 값도 아니기 때문에 None이 출력됩니다.

'파이썬' 카테고리의 다른 글

Python 25. 재귀 호출(Recursive call)  (0) 2024.04.01
Python 24. 파일 입출력 라이브러리  (0) 2024.03.22
Python 21. 단어장!  (0) 2024.03.22
Python 20. 파일 입출력  (0) 2024.03.22
Python 18. 예외 처리  (0) 2024.03.21

관련글 더보기