파이썬에서 형 변환을 사용하는 방법에 대해 설명드리겠습니다. 형 변환은 데이터 타입을 변경하는 과정을 말하며, 명시적 형 변환(Explicit Type Conversion)과 암시적 형 변환(Implicit Type Conversion)으로 나눌 수 있습니다.
명시적 형 변환은 프로그래머가 직접 데이터 타입을 변경하는 것을 의미합니다.
파이썬에서는 여러 내장 함수를 사용하여 데이터 타입을 변환할 수 있습니다.
다른 용어로 캐스팅 (Casting) 이라고도 부릅니다 :)
int(x) # x를 정수로 변환합니다.
float(x) # x를 부동 소수점 숫자로 변환합니다.
str(x): # x를 문자열로 변환합니다.
list(x) # x를 리스트로 변환합니다.
tuple(x) # x를 튜플로 변환합니다.
set(x) # x를 집합으로 변환합니다.
dict(x) # x를 딕셔너리로 변환합니다 (적절한 구조를 가진 경우).
# 문자열을 정수로 변환
s = "123"
num = int(s)
print(num, type(num)) # 123 <class 'int'>
# 정수를 문자열로 변환
n = 456
s = str(n)
print(s, type(s)) # "456" <class 'str'>
# 리스트를 튜플로 변환
lst = [1, 2, 3]
tup = tuple(lst)
print(tup, type(tup)) # (1, 2, 3) <class 'tuple'>
# 튜플을 리스트로 변환
t = (4, 5, 6)
lst = list(t)
print(lst, type(lst)) # [4, 5, 6] <class 'list'>
암시적 형 변환은 파이썬이 자동으로 데이터 타입을 변환하는 것입니다. 주로 연산 중에 발생합니다.
# 정수와 부동 소수점의 연산에서 발생하는 암시적 형 변환
a = 10 # int
b = 3.5 # float
result = a + b # a가 float로 변환됨
print(result, type(result)) # 13.5 <class 'float'>
[중요한 점]
명시적 형 변환을 할 때는 데이터의 손실이나 오류가 발생할 수 있으므로 주의해야 합니다.
예를 들어, 문자열을 정수로 변환할 때 문자열이 숫자로 변환할 수 없는 경우 오류가 발생합니다.
#### 예시
s = "abc"
try:
num = int(s)
except ValueError as e:
print("Error:", e) # Error: invalid literal for int() with base 10: 'abc'
파이썬에서 형 변환은 데이터 타입을 필요에 따라 유연하게 변경하여 프로그램을 더 효율적이고 오류 없이 동작하게 하는 중요한 도구입니다.
형 변환을 적절히 사용하면 다양한 데이터 타입 간의 연산과 처리를 보다 쉽게 수행할 수 있게 됩니다 :)