
Python 형변환 기본 개념
Python에서 형변환(Casting)은 변수의 데이터 타입을 지정하거나 변경하는 과정을 의미한다. Python은 동적 타이핑 언어이지만, 때로는 명시적으로 변수의 타입을 지정해야 하는 상황이 발생한다.
Python에서는 생성자 함수를 사용하여 형변환을 수행할 수 있다. 주요 형변환 함수로는 int(), float(), str()이 있으며, 각각 정수, 실수, 문자열로 변환하는 역할을 담당한다.
정수형 변환 (int)
int() 함수는 다양한 데이터 타입을 정수로 변환한다. 정수 리터럴, 실수 리터럴, 문자열 리터럴을 정수로 변환할 수 있다.
x = int(1)
y = int(2.8)
z = int("3")
위 예제에서 x는 1, y는 2, z는 3의 값을 가지게 된다. 실수를 정수로 변환할 때는 소수점 이하 부분이 버려진다는 점에 주의해야 한다.
실수형 변환 (float)
float() 함수는 정수, 실수, 문자열을 실수(부동소수점)로 변환한다. 정확한 소수점 계산이 필요한 경우에 활용된다.
x = float(1)
y = float(2.8)
z = float("3")
w = float("4.2")
변환 결과 x는 1.0, y는 2.8, z는 3.0, w는 4.2가 된다. 정수를 실수로 변환하면 자동으로 .0이 추가된다.
문자열 변환 (str)
str() 함수는 다양한 데이터 타입을 문자열로 변환한다. 숫자 데이터를 텍스트 형태로 처리해야 할 때 필수적으로 사용된다.
x = str("s1")
y = str(2)
z = str(3.0)
변환 결과 x는 “s1”, y는 “2”, z는 “3.0”이 된다. 이미 문자열인 경우에도 str() 함수를 적용할 수 있으며, 원본 값이 그대로 유지된다.
형변환 활용 사례
실제 프로그래밍에서 형변환은 사용자 입력 처리, 데이터 계산, 출력 형식 조정 등 다양한 상황에서 활용된다. 특히 input() 함수로 받은 사용자 입력은 항상 문자열 형태이므로, 수치 계산을 위해서는 적절한 형변환이 필요하다.
user_age = input("나이를 입력하세요: ")
age_int = int(user_age)
next_year_age = age_int + 1
print("내년 나이: " + str(next_year_age))
💡 형변환 주의사항:
• 문자열을 숫자로 변환할 때는 해당 문자열이 유효한 숫자 형식이어야 한다
• 실수를 정수로 변환하면 소수점 이하는 버려진다
• 형변환이 불가능한 경우 ValueError 예외가 발생할 수 있다
형변환과 데이터 타입 확인
Python에서는 type() 함수를 사용하여 변수의 현재 데이터 타입을 확인할 수 있다. 형변환 전후의 타입 변화를 명확히 파악하는 데 유용하다.
original = "123"
converted = int(original)
print(type(original))
print(type(converted))
형변환은 Python 프로그래밍에서 데이터 처리의 기본이 되는 중요한 개념이다. 적절한 형변환을 통해 다양한 데이터 타입 간의 호환성을 확보하고, 원하는 결과를 얻을 수 있다.