1. 변수 타입 어노테이션
변수 타입 어노테이션은 파이썬 3.5부터 도입된 기능으로, 변수의 예상 타입을 명시하는데 사용됩니다.
이는 주로 코드의 가독성을 높이고, 정적 타입 검사 도구(예: mypy)를 사용하여 타입 오류를 사전에 잡아내기 위한 목적으로 사용됩니다.
타입 어노테이션은 실제로 변수의 타입을 강제하는 것이 아니라, 개발자가 변수가 어떤 타입을 가져야 할 것으로 예상하는지 명시하는 것입니다.(다른사람들에게 보여주는것이므로 주의깊게 사용하기)
이렇게 사용하게되면 변수타입의 가이가 되기때문에 실수는 적어지게 됩니다.
서버군중에 특히 FAST API는 보통 모두 변수타입 어노테이션을 많이 사용합니다.
2. 기본 타입 어노테이션
사용방법 :: 변수 뒤에 콜론(:) 쓰고 타입
3. 리스트, 튜플, 딕셔너리, 세트
컬렉션(자료구조) 타입에 대한 어노테이션은 조금 더 복잡합니다. 이를 위해 List, Tuple, Dict, Set 등의 제네릭 타입을 사용하게 됩니다. 이러한 타입들은 typing 모듈에서 가져올 수 있습니다.
즉 모듈을 임포트해야 사용할 수 있습니다.
#리스트에 대한 어노테이션
단 쓰던 안 쓰던 에러는 나지않지만 컬렉션을 사용하기 위해서는 임포트를 해주어야 합니다.
#리스트에 대한 어노테이션
타입을 여러개 넣을 수 있습니다.
사용방법 :: 임포트된 클래스 [자료구조약자] = 자료구조리스트
임포트된 클래스에는 임포트된 클래스 타입을 작성하게 됩니다.
그 후 대괄호에 작성 후 자료구조 리스트로 사용하면 됩니다.
리스트에 타입이 다른경우로 여러개를 사용시에는 콤마(,)를 사용하여 나열해주면 됩니다.
같은타입 여러개도 가능합니다.
#실행결과
['김사과', '오렌지', '반하나'] ▶ 리스트타입
(25, 20) ▶ 튜플타입
{'김사과': 90.5, '오렌지': 88.0} ▶ 딕셔너리타입
{1, 2, 3, 4} ▶세트타입
*세트는 중복된 값을 취급하지 않습니다.
4. 함수
단 함수는 return이 되어야하기에 변환되는 값도 표기를 할 수 있습니다.
함수의 매개변수와 반환 타입에 대한 어노테이션은 다음과 같이 합니다
단 강제성은 없습니다.
함수 리턴형 어노테이션사용(표기)방법 :: ->int
화살표를 작성 후 리턴될 타입을 적어주게 됩니다.
내 코드에서 가져온것이 아니라 다른 곳에서 임포트 되었다면 확인하기 위해서 모든 함수를 봐야하지만
타입어노테이션을 확인하게되면 파라미터와 리턴형을 알 수 있습니다.
{'a': int, 'b': int, 'return': int}
5. 클래스
클래스 또는 사용자 정의 타입에 대한 어노테이션도 가능합니다.
스페셜매소드로 오버라이딩했으니 결과값은 아래와 같이 나옵니다.
스페셜매소드라는건 어떤건지 기억이 나지만 세부적으로는 다시한 번 공부를 해야할것같다..ㅠㅠ
6. 옵셔널
변수가 특정 타입이거나 None일 수 있는 경우 Optional을 사용합니다.
#임포트하기
-옵셔널은 따로 임포틑 해주어야 합니다.
#결과가 optional
플로트로 출력이될텐데 어쩌면 none일수도있어 라는 뜻으로 해석할 수 있습니다.
*get은 키를 찾으라는 뜻
#출력
find_score에서 점수는dic형태이고 거기에 넣는 딕셔너리 형태는 스트링과 플로트로 변환하세요라는 뜻입니다.
#결과
80.5
None
'AI > 머신러닝' 카테고리의 다른 글
[Python] Streamlit으로 초간단 번역 서비스만들기 (1) | 2024.06.09 |
---|---|
데이터베이스와 MongoDB (0) | 2024.06.06 |
크롤링 :: 1개의 이미지, 대량 이미지수집 (1) | 2024.05.31 |
크롤링 :: 인스타그램, 리팩토리 함수제작 및 실행 (0) | 2024.05.30 |
크롤링::네이버웹툰 댓글 크롤링 (1) | 2024.05.28 |