
파이썬을 공부하다, 자료형(Datatype)을 공부하다가 아니? 이게 뭔가? Casting이랑 Conversion이 나왔는데 이게 도대체 먼 차이인지 모르겠는게 아닌가? 나같은 사람이 있을거 같아서 정리하기 위해 준비했다. 틀린 부분이나 피드백이 있다면 댓글로 알려주면 감사하겠다.
Casting과 Conversion에 대해 알아보기 전 우리는 자료형의 기본개념을 알고 가야한다.
자료형은 프로그래밍에서 변수의 성질을 명확히 하고, 잘못된 연산을 방지하기 위해 사용되어진다.
자료형(Data Type)은 프로그래밍 언어에서 변수에 저장할 수 있는 값의 종류를 정의한다. 예를 들어 정수형(int)는 숫자 값을 저장하며, 문자열(str)은 문자들을 저장한다.
파이썬에서 사용되는 중요한 자료형들
정수(int) : 10, -100, 9와 같은 정수형 데이터를 나타낸다.
실수(float) : 0.7, 3.1와 같은 실수형 데이터를 나타낸다.
문자열(str) : "Hello World!"와 같이 문자들이 모인 데이터를 나타낸다.
불리언(bool) : True나 False같은 참과 거짓을 나타낸다.
프로그래머가 명시적으로 자료형을 변환하는 것이다.
예를 들어 아래의 코드를 살펴보자
a = 10;
print(float(a));
출력 값 : 10.0
위 코드와 같이 정수형 변수인 a를 float()를 통해 프로그래머가 a를 float로 형 변환한다고 명시하고있다.
파이썬 인터프리터가 자동으로 자료형은 변환하는 것이다.
예를 들어 아래의 코드를 살펴보자
a = 20;
b = 1.0;
print(a+b);
출력 값 : 21.0
위와 같이 정수형 데이터를 가진 a와 실수형 데이터를 가진 b를 더하면 따로 명시하지 않아도 자동으로 파이썬 내부에서 실수형으로 변환된다. (추가로 실수형은 정수형보다 더 큰 저장범위를 갖기 때문에 실수형으로 변환된다.)
따라서 Casting과 Conversion의 차이점은
Casting은 직접적으로 변환하라고 요구하는 것이고,
Conversion은 사용자가 따로 요구하지 않아도 자동으로 변환되는 것이다.