파이썬에서 데이터 형태는 서로 변환할 수 있다.
암시적 형변환 (implicit)
자료손실이 일어나지 않는 경우에는 사용자가 의도하지 않고 파이썬 내부적으로 자동으로 자료형을 변환한다.
print(True+1) #2
True(boolean형) 가 1으로 자동으로 형변환 되어 1+1 연산하였다.
print(3+1.0) #4.0
정수형(int형) 3과 실수형(float형) 1.0를 덧셈하였다. 3을 자동으로 실수형으로 형변환되었고 결과는 실수형인 4.0이 출력된다.
명시적 형변환 (explicit)
사용자가 특정 함수를 이용하여 의도적으로 자료형을 변환한다.
1. int()
문자열(str), 실수(float) 타입을 정수형(int)로 형변환한다.
형식에 맞는 문자열만 정수로 변환가능하다.
print('1'+1) #TypeError
문자열 '1'과 정수 1은 계산할 수 없기 때문에 에러가 뜬다.
print(int('1')+1) #2
int()으로 문자열 1을 정수로 바꾸어 계산한였다.
print(int('1.0')+1) #ValueError
'1.0'은 정수형태의 문자열이 아닌 실수형태이기 때문에 int()으로 변환할 수가 없고 에러가 뜬다.
number = input('숫자입력')
print(type(number)) #class 'str'
input()으로 사용자 입력을 받으면 모두 문자열로 저장된다.
a, b = map(int, input().split())
map으로 리스트 요소를 한번에 int형으로 변환할 수 있다.
2. float()
형식에 맞는 str, int 형을 실수형 float로 변환 가능하다.
print(float('3')) #3.0
정수 형태의 문자열도 바로 float 형식으로 변환 가능하다.
int에서 float 변환은 항상 가능하다.
3. str()
int, float, list, tuple, dict 형을 문자열 형태로 변환할 수 있다.
4. chr()
유니코드에 맞춰 문자 형태로 변환한다.
print(chr(65)) #A
65는 A가 된다.
5. bool()
print(bool(0)) #False
print(bool(1)) #True
print(bool(3)) #True
정수형은 0 은 False, 그 외는 True가 된다.
print(bool(0.0)) #False
print(bool(1.0)) #True
실수형은 0.0이 False 이다.
print(bool('')) #False
print(bool('hello')) #True
빈 문자열은 False이다.
'Language > Python' 카테고리의 다른 글
파이썬 리스트 중복 요소 개수 찾기 (카운트) , 중복요소 제거하기 (0) | 2022.07.21 |
---|---|
논리연산자의 단축평가 (1) | 2022.07.19 |
파이썬 String Interpolation (문자열 보간) - %, format, f-strings (1) | 2022.07.19 |
파이썬 컨테이너 - 리스트, 튜플, 레인지, 세트, 딕셔너리 (1) | 2022.07.18 |
파이썬 예약어 keyword.kwlist (2) | 2022.07.18 |