3. 변수 > 3-3. 변수의 자료형
변수의 자료형
파이썬에서의 변수는 3-1에서 살펴본 변수의 정의에 더해, 동적타이핑이라는 특징을 갖습니다. 동적타이핑이란 변수마다 자료형(type)을 지정하는 것이 아닌, 그때 그때 자료형을 결정하는 방식의 변수 생성 방식을 의미합니다. 즉 파이썬의 변수 생성은 자료형에 얽매이지 않습니다. 이때 자료형은 앞서 배운 숫자형, 문자형, Boolean과 같은 기본 자료형이 존재하고, 이 다음 파트에서 배울 리스트, 튜플, 딕셔너리, 집합과 같은 고급 자료형이 존재합니다.
score=100 #정수형
score=90.23 #실수형
score='90점' #문자형
위는 파이썬에서 변수를 생성하고 값을 부여하는 방식입니다. 변수 이름 뒤에 부등호을 적고, 그 뒤에 변수 값을 적어주는 방식입니다. 아래에서 더 자세히 다뤄볼 예정이지만, 간단하니 쉽게 이해하실 수 있을 겁니다. 파이썬에서의 변수는 동적타이핑이라는 특징으로 인해, 변수의 자료형은 변수값에 따라 지속적으로 변화할 수 있습니다. 코드에서는 score의 변수값이 변화함에 따라 변수의 자료형이 정수형부터 실수형, 문자형까지 다양하게 변화한 것을 살펴볼 수 있습니다. 이를 통해 알 수 있는 파이썬 변수의 특징은 다음과 같습니다.
관련한 예시를 들어보자면, 아래와 같습니다.
score=100 #score의 자료형은 정수형입니다.
score=score+0.03 #score의 자료형은 실수형으로 변경되었습니다.
a_score=90 #a_score의 자료형은 정수형입니다.
b_score=80.5 #b_score의 자료형은 실수형입니다.
동적타이핑이라는 특징은 장점이 될 수도, 단점이 될 수도 있습니다. 간단히 이야기해보자면, 동적타이핑은 작성할 때는 쉽고 빠르지만 막상 코드를 실행할 때는 그 속도가 느려지게 됩니다. 반면 변수 생성부터 자료형을 정하는 정적타이핑의 경우에는 작성 시간이 상대적으로 느리지만 코드 실행시에는 그 속도가 빨라지겠죠.
전세계에서 가장 널리 사용되는 언어인 JavaScript는 대표적인 동적타이핑 언어인데요, 속도나 협업 측면에서 가진 동적타이핑의 불리함으로 인해 정적타이핑의 특성을 갖도록 수정 개발된 대체 언어가 TypeScript입니다. TypeScript는 실제로 기업 등의 대규모 프로젝트에서 널리 사용되고 있습니다.
아래는 JavaScript와 TypeScript의 간단한 변수 생성 코드입니다. 참고로, 아무런 명령어 없이 변수가 생성이 가능한 Python과 달리, JavaScript와 TypeScript는 let이라는 명령어를 통해 변수를 생성합니다.
let score = 100; //JavaScript의 경우, 다음과 같이 자료형을 명시하지 않고 변수를 생성하지만
let score:number = 100; //TypeScript의 경우 정적타이핑 언어이기에 : 뒤에 자료형을 명시합니다.