파이썬 str() 함수는 문자열을 처리하는 가장 기본적인 함수입니다. 이 함수는 다양한 데이터 타입을 문자열로 변환하는 역할을 하며, 프로그래밍을 하다 보면 매우 자주 사용하게 됩니다. 이번 포스팅에서는 str()
함수의 기본적인 사용법부터 응용 방법까지 알아보도록 하겠습니다.
목차
str() 함수란?
str()
함수는 파이썬 내장 함수로, 정수, 실수, 리스트, 튜플 등 다양한 데이터 타입을 문자열(String)로 변환합니다. 문자열이란 문자들의 나열로, 파이썬에서는 작은따옴표(‘)나 큰따옴표(“)로 감싸진 데이터입니다.
예를 들어, 숫자형 데이터인 123
을 str()
함수를 사용해 문자열로 변환하면 '123'
이 됩니다. 이때, 숫자와 문자열의 차이는 매우 중요합니다. 숫자는 계산이 가능한 반면, 문자열은 문자 자체로 처리되기 때문입니다.
num = 123
str_num = str(num)
print(str_num, type(str_num))
위 코드에서 type()
함수는 데이터의 타입을 알려줍니다. num
은 정수형(int)였지만, str()
을 통해 변환된 str_num은 문자열(str)이 된 것을 확인할 수 있습니다.
str() 함수의 다양한 활용
숫자를 문자열로 변환
str()
함수의 가장 기본적인 활용은 숫자를 문자열로 변환하는 것입니다. 예를 들어, 계산된 값을 출력할 때 숫자를 문자열로 변환하여 다른 문자열과 함께 출력하는 데 사용할 수 있습니다.
num1 = 5
num2 = 8
result = str(num1) + "와 " + str(num2) + "의 합은 " + str(num1 + num2) + "입니다."
print(result)
위 코드에서는 num1
과 num2
를 문자열로 변환하여 다른 문자열과 함께 출력했습니다. 이를 통해 숫자와 문자열을 함께 출력할 수 있게 됩니다.
리스트와 튜플을 문자열로 변환
리스트나 튜플 같은 데이터 타입도 str()
을 사용해 쉽게 문자열로 변환할 수 있습니다. 이는 특히 데이터를 파일에 저장하거나 출력할 때 유용합니다.
my_list = [1, 2, 3]
my_tuple = (4, 5, 6)
print("리스트: " + str(my_list))
print("튜플: " + str(my_tuple))
str()
을 통해 리스트나 튜플을 문자열로 변환하면, 각 요소가 문자열로 변환되어 리스트나 튜플 형태를 유지하면서 출력됩니다.
불리언 값을 문자열로 변환
불리언(Boolean) 값은 참(True)과 거짓(False)을 나타내는 데이터 타입입니다. str()
함수는 불리언 값도 문자열로 변환할 수 있습니다. 이 기능은 주로 조건문 결과를 사용자에게 출력할 때 유용합니다.
is_active = True
print("활성화 상태: " + str(is_active))
위 코드에서는 True
값을 문자열 "True"
로 변환하여 출력하는 예시입니다.
str() 사용 시 주의할 점
숫자 연산과 문자열 덧셈 구분
숫자와 문자열을 혼용하여 사용할 때 주의해야 할 점은, 숫자끼리는 연산이 가능하지만 문자열은 연산이 불가능하다는 것입니다. 예를 들어, 문자열과 숫자를 덧셈(+)으로 연결하려면 숫자를 str()
로 변환해야 합니다.
str()을 이용해서 숫자를 문자열로 변환하지 않고 더하기 연산자(+)를 이용해서 바로 붙이려고 하면 TypeError가 발생합니다. 다음의 코드와 같이 숫자와 문자열을 차례로 붙이는 경우에는 덧셈 연산자를 쓸 수 없다고 알려줍니다.
3 + " eggs"
아래 그림과 같이 “TypeError: unsupported operand type(s) for +: ‘int’ and ‘str’” 오류 메시지를 만나게 됩니다.
한편 문자열과 숫자의 순서로 작성하는 다음의 코드를 봅시다.
"images of " + 3
문자열을 앞에 두는 경우에는 ‘TypeError: can only concatenate str (not “int”) to str‘메시지를 만나게 됩니다.
따라서 숫자값을 문자열와 붙이기 위해서 더하기 연산자(+)를 사용하는 경우에는 숫자값을 str() 함수를 사용해서 문자열로 변환해 주어야 합니다.
데이터 타입에 따른 변환 주의
모든 데이터가 str()
로 변환될 수 있지만, 데이터 타입에 따라 변환 결과가 다르게 나올 수 있습니다. 예를 들어, 리스트나 딕셔너리 같은 복잡한 자료형은 그 구조에 맞게 문자열로 변환되므로, 이를 처리할 때는 가독성을 고려해야 합니다.
my_dict = {"name": "김미리", "age": 25}
print(str(my_dict))
그리고 불리언 타입의 True나 False는 str()로 문자열로 변환한 후, 다시 bool()을 이용하는 경우에는 두 값 모두 True 값으로 처리되므로 주의해야 합니다.
str() 함수의 응용
파일 입출력에서의 활용
str()
함수는 파일에 데이터를 저장할 때도 유용합니다. 파일은 기본적으로 텍스트 형태로 저장되기 때문에, 숫자나 리스트 등의 데이터를 문자열로 변환하여 저장해야 합니다.
my_data = [5, 10, 23, 18, 38, 7]
with open('data.txt', 'w') as file:
file.write(str(my_data))
위 코드에서 리스트 my_data
는 파일에 저장되기 전에 문자열로 변환되어서, 아래 그림과 같이 파일에 문자열로 변환되어 저장된 것을 확인할 수 있습니다.
웹 개발에서의 활용
웹 개발에서도 str()
함수는 유용하게 사용됩니다. 예를 들어, 사용자가 입력한 데이터를 서버로 전송할 때 데이터 타입에 상관없이 문자열로 변환해 처리하는 경우가 많습니다. 특히 JSON 형식의 데이터 전송 시, 데이터 타입을 문자열로 변환해 전달하는 것이 일반적입니다.
정리
파이썬의 str()
함수는 다양한 데이터 타입을 문자열로 변환하는 간단하면서도 강력한 도구입니다. 숫자, 리스트, 불리언 등 다양한 타입의 데이터를 문자열로 변환하여 쉽게 출력하거나 파일에 저장할 수 있으며, 이를 통해 코드를 더 간결하게 작성할 수 있습니다. 또한, 연산 시 타입 변환에 주의하여 오류를 방지하는 것이 중요합니다. 파일 입출력이나 웹 개발에서도 자주 사용되는 만큼, 꼭 알아두어야 할 기본 함수라고 할 수 있습니다.