Python 타이핑

seokj·2023년 1월 11일
0

대부분의 프로그래밍 언어는 type system이 존재한다. 어떤 변수를 어떻게 다룰 것인지 명시적으로 정의한 것을 말한다. 여기에는 dynamic typing과 static typing으로 나뉘는데 파이썬은 전자이다.

  • dynamic typing 코드가 실행될 때마다 type을 검사한다. 변수의 수명주기동안 type이 바뀔 수도 있다.
  • static typing 처음 컴파일할 때 전체 코드의 type을 검사한다. 변수의 수명주기동안 type이 바뀔 수 없다.

파이썬은 dynamic typing을 계속 고수하기로 선언하였다. 하지만 기호에 따라 static typing을 적용할 수 있도록 type hint를 도입했다. type이 안 맞으면 코드편집기 단계에서 경고한다. 하지만 실행이 안되도록 강제하지는 않는다.

파이썬은 동시에 duck typing 이다. 변수가 어떤 type인지 중요하지 않고 property나 method가 있는지만 본다는 뜻이다. len(x)를 실행할 때 x.__len__()이 구현되어있는지 여부가 중요한 것이지 x자체가 list인지 dict인지같은 자료형이 중요하지 않다는 뜻


참고자료
https://realpython.com/python-type-checking/

profile
안녕하세요

0개의 댓글