프로그래밍이야기/파이썬

[파이썬배우기] 변수의 형변환이란?

pman 2024. 8. 29. 17:07
728x90
반응형
SMALL

안녕하세요 피맨입니다.

 

이번에는 변수의 형변환에 대해 알아보려고 해요 :)

 

변수의 기본개념도 중요하지만, 형변환 역시 중요한 부분이에요!

 

반응형

형변환이란?

형변환은 변수나 값의 데이터 타입을 다른 타입으로 변환하는 것을 의미합니다.

 

파이썬에서는 암시적 형변환과 명시적 형변환 두 가지 방법이 있습니다.

 

 

1. 암시적 형변환 (Implicit Type Conversion)

파이썬은 자동으로 데이터 타입을 변환하는 경우가 있습니다. 이를 암시적 형변환이라고 합니다.

 

# 암시적 형변환 예제
num_int = 123
num_float = 1.23

# 정수형과 실수형을 더하면 실수형으로 변환됩니다.
result = num_int + num_float
print("Result:", result)  # 출력: Result: 124.23
print("Type of result:", type(result))  # 출력: <class 'float'>

 

 

위 예제에서 num_int는 정수형이고 num_float는 실수형입니다.

 

두 값을 더할 때 파이썬은 자동으로 정수형을 실수형으로 변환하여 결과를 실수형으로 반환합니다.

 

728x90

2. 명시적 형변환 (Explicit Type Conversion)

명시적 형변환은 프로그래머가 직접 데이터 타입을 변환하는 것을 의미합니다.

 

파이썬에서는 여러 내장 함수를 사용하여 명시적 형변환을 할 수 있습니다.

정수형으로 변환

# 문자열을 정수형으로 변환
num_str = "456"
num_int = int(num_str)
print("num_int:", num_int)  # 출력: num_int: 456
print("Type of num_int:", type(num_int))  # 출력: <class 'int'>

 

SMALL

실수형으로 변환

# 문자열을 실수형으로 변환
num_str = "3.14"
num_float = float(num_str)
print("num_float:", num_float)  # 출력: num_float: 3.14
print("Type of num_float:", type(num_float))  # 출력: <class 'float'>

 

문자열로 변환

# 정수형을 문자열로 변환
num_int = 789
num_str = str(num_int)
print("num_str:", num_str)  # 출력: num_str: 789
print("Type of num_str:", type(num_str))  # 출력: <class 'str'>

 

리스트로 변환

# 튜플을 리스트로 변환
tuple_data = (1, 2, 3)
list_data = list(tuple_data)
print("list_data:", list_data)  # 출력: list_data: [1, 2, 3]
print("Type of list_data:", type(list_data))  # 출력: <class 'list'>

 

튜플로 변환

# 리스트를 튜플로 변환
list_data = [4, 5, 6]
tuple_data = tuple(list_data)
print("tuple_data:", tuple_data)  # 출력: tuple_data: (4, 5, 6)
print("Type of tuple_data:", type(tuple_data))  # 출력: <class 'tuple'>

 

형변환의 주의사항

형변환을 할 때는 데이터의 손실이나 오류가 발생할 수 있으므로 주의해야 합니다.

 

예를 들어, 문자열을 정수형으로 변환할 때 문자열이 숫자로 구성되어 있지 않으면 오류가 발생합니다.

 

# 형변환 오류 예제
num_str = "abc"
try:
    num_int = int(num_str)
except ValueError:
    print("형변환 오류: 문자열을 정수형으로 변환할 수 없습니다.")

 

 

파이썬에서 형변화에 대해 알아봤습니다 :)

728x90
반응형
LIST