효율적인 메모리 사용을 위해 데이터를 정수형, 실수형, 문자(열)형, 논리형 으로 구분한 것.
- 10, 20, 59035 ...
- 무한으로 가능
- 3.14, 2.423 ...
- 소수점 15째 자리 이후로는 데이터 손실(왜곡)
- '안녕하세요', 'hello' ...
- 작은따옴표, 큰따옴표 가능
- 작은따옴표, 큰따옴표 혼합 불가
- True, False
해당 변수의 자료형 확인 가능 한 함수
예시
#실수 변수선언
pi = 3.14321123748972138947
print(pi) #pi변수 출력
print(type(pi)) #pi변수 자료형 출력
결과
3.143211237489721
<class 'float'>
데이터 타입을 변환하는 것 type casting이라고 한다.
예시
var = 100 #변수선언
print(var)
print(type(var))
var = str(var) #정수->문자 변환
print(var)
print(type(var))
결과
100
<class 'int'>
100
<class 'str'>
예시
var1 = True #변수선언
var2 = False
print(var1)
print(type(var1))
print(var2)
print(type(var2))
var1 = int(var1) #논리형->정수 변환
var2 = int(var2)
print(var1)
print(type(var1))
print(var2)
print(type(var2))
결과
True
<class 'bool'>
False
<class 'bool'>
1
<class 'int'>
0
<class 'int'>
예시
var = '3.14' #변수선언
print(var)
print(type(var))
var = int(var) #문자형 실수 -> 정수 자료형변환
print(var)
print(type(var))
결과
3.14
<class 'str'>
Traceback (most recent call last):
File "C:\pythonEx\project\2_007\casting.py", line 28, in <module>
var = int(var) #문자형 실수 -> 정수 자료형변환
^^^^^^^^
ValueError: invalid literal for int() with base 10: '3.14'
빈문자('') 와 공백문자(' ') 를 논리형으로 변환 했을 때 차이점 확인
var1 = ''
print(var1)
print(type(var1))
var1 = bool(var1)
print(var1)
print(type(var1))
결과
<class 'str'>
False #빈문자는 논리형으로 False
<class 'bool'>
var2 = ' '
print(var2)
print(type(var2))
var2 = bool(var2)
print(var2)
print(type(var2))
결과
<class 'str'>
True #공백문자는 논리형으로 True
<class 'bool'>