파이썬 from typing import List 에 관한 질문
조회수 228회
1번 경우
from typing import List
def average(L : list[float]) -> float:
print("HELLO")
정상적인 작동이 됩니다. 2번경우
from typing import List
def average(L : Gist[float]) -> float:
print("HELLO")
일경우
Traceback (most recent call last):
File "<pyshell#86>", line 1, in <module>
def average(L : Gist[float]) -> float:
NameError: name 'Gist' is not defined
1.메세지 출력하는데 여기서 궁금한점은 L:
뒤에 타입표기는 타입들 형식에 맞게 설정하지 않으면 오류메세지가 뜨고 만약에 타입형식을 맞추고 타입에 맞지 않은 값을 인자에 넣는 경우는 오류메세지를 보내지 않는 건가여??
두번쨰 질문
from typing import List
def average(L : list[float]) -> float:
print("HELLO")
from typing import List
def average(L : List[float]) -> float:
print("HELLO")
1.이 두 코드에서 import List
함으로 얻는 것은 무엇인가요?
2.그리고 L:list
랑 L:List
를 구분해서 써야 되나요??
1 답변
-
파이썬은 동적언어로 만들어졌기 때문에 초기에는 타입 지정이 없었어요.
그런데, 버전이 올라가면서 타입 힌팅 기능이 추가되었고, 추가되면서 발전되었기 때문에 불완전한 부분들이 있었고요. typing 의 List, Dict 등은 그런 식으로 만들어지고 발전된 것입니다. 타입을 import 해서 쓴다니 좀 어중간하죠.
list, dict 등의 타입은 typing 보다 이후에 정식 파이썬에 포함된 것이고요. 기능상으로는 변수의 타입을 알려줘서, 정적분석에 활용되는 정도인 것 같습니다. 다른 강타입언어들보다는 그 제약이 작아요.
댓글 입력