🎯

4.1.6. 형변환

1. 자주 쓰이는 형변환 정리

형변환
다른 자료형을 정수형으로 변환
다른 자료형을 문자열로 변환
다른 자료형을 실수형으로 변환
다른 자료형을 리스트로 변환
다른 자료형을 튜플형으로 변환
다른 자료형을 집합 자료형으로 변환
다른 자료형을 사전형으로 변환
 
입력
print(type(int(3.5))) print(int(3.5)) print(type(float(3))) print(float(3)) print(type(str(3)) print(str(3))
 
출력
<class 'int'> 3 <class 'float'> 3.0 <class 'str'> 3
기존의 자료형에서 다른 자료형으로 바꾸는 것을 형변환이라고 합니다.
 
입력
x = input('Insert the number.') y = input('Insert the number.') print(x + y) print(type(x)) print(type(y))
 
출력
Insert the number.4 Insert the number.56 456 <class 'str'> <class 'str'>
 
파이썬에서의 형변환은 아주많은 방법들이 있지만 내장함수를 이용해서 아주 쉽게 할 수 있습니다. 어떤식으로 쓰이는지 간단한 예시를 통해 같이 한번 살펴봅시다.
 

1.1 int로 형변환

입력
num = '123' print(type(num)) print(type(int(num))
 
출력
<class 'str'> <class 'int'>
 

1.2 string으로 형변환

입력
string = 123 print(type(string)) print(type(str(string)))
 
출력
<class 'int'> <class 'str'>
 

1.3 bool형으로 형변환

입력
print("bool('test') : ", bool('test')) print("bool(1) : ", bool(1)) print("bool(0) : ", bool(0)) print("bool(-1) : ", bool(-1)) print("bool(' ') : ", bool(' ')) print("bool('') : ", bool('')) print("bool(None) : ", bool(None))
 
출력
bool('test') : True bool(1) : True bool(0) : False bool(-1) : True bool(' ') : True bool('') : False bool(None) : False
bool()함수는 인자값(아규먼트)을 Boolean 자료형으로 형변환 하게 됩니다. 부울 값은 True와 False로 나뉩니다. 부울 값은 직접 입력된 값일 수도 있고 부울 연산에 의해 나온 결과값일 수도 있습니다. 예를 들어 x = 10일 때 x > 100은 False이죠. 또한 이미 Python 내에서 규정한 부울 값일 수도 있습니다. 예를 들어 0은 False, 0을 제외한 다른 숫자는 True입니다.

1.4 float형으로 형변환

입력
s='10' float(s) s='10000' float(s)
 
출력
10.0 ERROR

1.5 list형으로 형변환

입력
s='10' l=list(s) l name='leehojun' list(name)
 
출력
['1','0'] ['l','e','e','h','o','j','u','n']

1.6 tuple형으로 형변환

입력
name='leehojun' tuple(name)
 
출력
('l','e','e','h','o','j','u','n')

1.7 dict형으로 형변환

입력
name='leehojun' dict(name) s=[('name','leehojun'),('age',10)] d=dict(s) d
 
출력
ERROR #키와 value가 있어야 합니다. {'name':'leehojun','age':10}

1.8 set형으로 형변환

입력
name='leehojun' set(name) #중복을 허락하지 않고 순서가 없습니다. len(set(name)) #중복을 제거한 상태로의 길이를 알려줍니다. len(name)
 
출력
{'e','h','j','l','n','o','u'} 7 8
set은 중복을 제거 할 때 많이 사용됩니다.