파이썬에서 형 변환(type casting 또는 type conversion)은 하나의 데이터 타입을 다른 데이터 타입으로 변환하는 과정입니다. 형 변환은 데이터 처리와 변환을 유연하게 처리할 수 있게 해줍니다. 파이썬에서는 여러 내장 함수를 사용하여 데이터 타입을 변환할 수 있습니다. 주요 형 변환 함수와 그 사용법에 대해 설명하겠습니다.
1. 문자열(str)으로 변환
str() : 숫자나 다른 데이터 타입을 문자열로 변환합니다.
x = 10 y = 3.14 z = True x_str = str(x) # '10' y_str = str(y) # '3.14' z_str = str(z) # 'True' 2. 정수(int)로 변환 |
int() : 문자열, 부동 소수점 수, 불린 값 등을 정수로 변환합니다. 문자열이 정수 형태일 때만 변환이 가능합니다.
x = "123" y = 3.14 z = True x_int = int(x) # 123 y_int = int(y) # 3 (소수점 이하 버림) z_int = int(z) # 1 |
문자열이 정수형으로 변환 불가능한 경우 예외 발생
# x = "123abc" # x_int = int(x) # ValueError: invalid literal for int() with base 10: '123abc' |
3. 부동 소수점(float)으로 변환
float() : 문자열이나 정수, 부동 소수점 수를 부동 소수점으로 변환합니다.
x = "3.14" y = 10 z = True x_float = float(x) # 3.14 y_float = float(y) # 10.0 z_float = float(z) # 1.0 |
4. 불린(bool)으로 변환
bool() : 다른 데이터 타입을 불린 값으로 변환합니다. 빈 문자열, 0, 빈 리스트 등은 False로 변환되고, 나머지 값은 True로 변환됩니다.
x = "" y = "Hello" z = 0 w = 1 x_bool = bool(x) # False y_bool = bool(y) # True z_bool = bool(z) # False w_bool = bool(w) # True |
5. 리스트(list)로 변환
list() : 다른 시퀀스 타입을 리스트로 변환합니다.
x = "hello" y = (1, 2, 3) z = {4, 5, 6} x_list = list(x) # ['h', 'e', 'l', 'l', 'o'] y_list = list(y) # [1, 2, 3] z_list = list(z) # [4, 5, 6] (순서는 세트의 경우 예측할 수 없음) |
6. 튜플(tuple)로 변환
tuple() : 다른 시퀀스 타입을 튜플로 변환합니다.
x = [1, 2, 3] y = "abc" x_tuple = tuple(x) # (1, 2, 3) y_tuple = tuple(y) # ('a', 'b', 'c') |
7. 세트(set)로 변환
set() : 다른 시퀀스 타입을 세트로 변환합니다. 세트는 중복을 허용하지 않으며 순서가 없습니다.
x = [1, 2, 2, 3] y = "hello" x_set = set(x) # {1, 2, 3} y_set = set(y) # {'h', 'e', 'l', 'o'} |
8. 딕셔너리(dict)로 변환
dict() : 리스트의 키-값 쌍 또는 다른 이터러블을 딕셔너리로 변환합니다. 이터러블은 (key, value) 쌍의 튜플을 포함해야 합니다.
x = [("name", "Alice"), ("age", 25)] y = dict(x) # {'name': 'Alice', 'age': 25} # 잘못된 예시: [(1, 2), (3, 4)] -> {'1': 2, '3': 4} |
9. 형 변환 시 유의사항
정수와 부동 소수점 변환: float()은 모든 정수를 부동 소수점으로 변환할 수 있지만, int()는 소수점 이하를 버리며 정수로 변환합니다.
문자열에서 정수, 부동 소수점 변환: 문자열이 올바른 형식이어야 합니다. 예를 들어, "123.45"는 float()로 변환할 수 있지만 int()로는 변환할 수 없습니다.
10. 예외 처리
형 변환 시 문자열이 올바른 형식이 아닌 경우 ValueError가 발생할 수 있으므로, try-except 블록을 사용하여 예외를 처리할 수 있습니다.
try: x = int("abc") except ValueError: print("변환 오류 발생") |
형 변환을 적절하게 활용하면 다양한 데이터 타입을 효과적으로 다룰 수 있습니다. 각 형 변환 함수의 사용법을 숙지하고, 데이터의 유형과 형식에 맞게 적절히 변환해 보세요.
'파이썬 문법' 카테고리의 다른 글
파이썬 제어구조 (0) | 2024.08.13 |
---|---|
파이썬에서 클래스 핵심 개념 (0) | 2024.08.12 |
파이썬에서 딕셔너리(dictionary). (0) | 2024.08.05 |
파이썬에서 문자열은 문자들의 시퀀스. (0) | 2024.08.03 |
파이썬(Python)에서 연산자. (0) | 2024.08.03 |