❰파이썬의 문자열 자료형❱
-문자열 자료형(String data type)에 대해 알아봅시다.(정의와 특징)
▶문자열 자료형이란?
문자열(String)이란 문자, 단어 등으로 구성된 집합을 말합니다.
문자열 자료형(String data type)은 텍스트 데이터를 나타내는데 사용됩니다.
"Life is too short, You need Python"
"a"
"123"
'456'
'안녕하세요'
예를 들면 위의 예문이 존재하는데 각 예문에 시작과 끝에 큰 따옴표(")와 작은 따옴표(') 사용하였습니다.
큰따옴표(")와 작은따옴표(')는 문자열을 정의할 때 모두 사용할 수 있으며, 기능적 차이는 없습니다.
단, 문자열 안에 따옴표 기호가 포함될 경우 구분을 위해 서로 다른 따옴표를 사용하는 것이 일반적입니다.
예를 들어 'Python is "awesome"' 또는 "It's Python!"처럼 표현할 수 있습니다.
그리고 '123, 456과 같은 숫자는 문자열이 아닌데 왜 문자열로 구분되지?' 라고 의문을 가지시는 분도 있으실텐데.
따옴표(" 또는 ')로 감싸진 값은 숫자든 문자든 문자열(string)로 인식됩니다.
파이썬에서는 따옴표 유무에 따라 데이터의 자료형이 달라진다는 점을 꼭 기억해 주세요.
▶문자열의 특징은 무엇일까?
①불변성(immutable)
문자열은 한 번 생성되면 그 내용을 변경 할 수 없습니다.
즉, 문자열의 특정 부분을 수정하려면 새로운 문자열을 생성해야 합니다.
hello_string = "hello"는 hello라는 문자열 변수에 "hello"를 저장한다는 의미입니다.
_(언더 스코어)의 사용은 모든 단어를 소문자로 쓰고, 단어와 단어 사이를 언더 스코어로 연결한다는 의미입니다.
print(f"원본 문자열 : {hello_string}")는 print출력문을 사용하여 문자열을 출력한다는 의미입니다.
우선, 간단하게 설명하겠습니다. f는 문자열 전체를 가져오겠다는 의미, 따옴표(")는 문자열, {}문자열 포맷팅이라고 중괄호 안에 변수나 표현식을 직접 삽입해 출력할 수 있게 해줍니다.
new_string = "J" + hello_string[1:] 는 new_string이라는 문자열에 "J"를 저장한 후 hello_string의 첫번째 문자 "H"를 J로 변경하겠다는 의미입니다. + 연산자는 문자열을 "더한다" 라는 의미로 사용됩니다. 즉, 두 개 이상의 문자열을 연결해서 하나의 새로운 문자열을 만드는데 사용됩니다
print(f"새로운 문자열(변경 후) : {new_string}") 는 new_string의 문자열 전체를 print출력문으로 출력한다는 의미입니다
print(f"원본 문자열은 그대로 : {hello_string}") 는 hello_string의 문자열 전체를 print 출력문으로 출력다는 의미 입니다.
부족한 설명 {}, f 등 관한 설명은 추후에 따로 글을 작성해서 정리해두도록하겠습니다.
위 예제에서 hello_string [0] = "J"와 같이 직접 변경하려고 하면 오류가 발생합니다. 하지만 new_string = "J" + hello_string[1:] 처럼 새로운 문자열을 만들어서 원하는 모양으로 만들 수 있습니다. 이때 원본 문자열 hello_string 은 변하지 않습니다.
'굳이? "hello"를 "jello" 로 바꾸면 되지 않나?'라는 생각을 하시는 분들도 있으실텐데 이유는 다음과 같습니다.
데이터 안정성: 만약 "hello"라는 문자열을 여러 곳에서 사용하고 있는데, 누군가 이 문자열을 "jello"로 직접 바꿔버린다면, 다른 곳에서 사용하던 "hello"까지 모두 영향을 받겠죠? 이렇게 되면 예상치 못한 데이터 오류가 발생할 수 있습니다. 문자열이 불변하면 이런 걱정 없이 안전하게 데이터를 사용할 수 있어요.
메모리 효율: 파이썬은 똑같은 내용을 가진 문자열이 여러 개 필요할 때, 메모리에 한 번만 저장하고 여러 변수가 그 한 곳을 공유하도록 최적화할 수 있습니다. 만약 문자열이 변할 수 있다면 이런 최적화가 어려워집니다.
예측 가능성: 문자열이 불변하다는 것은 한 번 만들어지면 그 내용이 영원히 같다는 것을 의미해요. 덕분에 프로그램이 어떻게 작동할지 더 쉽게 예측할 수 있습니다.
즉, 위 설명처럼 문자열의 불변성은 프로그래밍의 안정성, 효율성, 그리고 예측 가능성을 높여주는 아주 중요한 특성입니다.
②인덱싱(Indexing)
인덱싱은 문자열의 각 문자에 번호(인덱스)를 매겨서 원하는 문자를 꺼내 쓰는 것을 말합니다. 인덱스는 항상 0부터 시작합니다.
인덱싱에 대해서는 추후 자세히 배워봅시다.
③슬라이싱(Slicing)
슬라이싱은 문자열의 일부분을 잘라내는 기능입니다. [시작 인덱스 : 끝 인덱스] 형태로 사용하며, 끝 인덱스 위치의 문자는 포함되지 않습니다. 슬라이싱도 추후 자세히 배워봅시다.
④다양한 연산
파이썬은 문자열을 다루기 위한 여러 연산자와 함수를 제공합니다.
종류는 문자열 연결(+), 문자열 반복(*), 길이계산(len()), 포함 여부 확인(in)가 있습니다.
연산의 종류에 대해서는 추후 자세히 배워 봅시다.
문자열의 정의와 특징에 대해 학습하시느라 고생많으셨습니다~😌
📘 참고:
《Do it! 점프 투 파이썬 (전면 개정 2판)》, 박응용 저, 이지스퍼블리싱, 2023
※ 본 글은 위 교재의 내용을 학습 및 정리 목적으로 요약/재구성한 글입니다.
'Python(파이썬)_점프 투 파이썬 > 파이썬 기초 문법' 카테고리의 다른 글
리스트 자료형(List Datatype) (2) | 2025.08.06 |
---|---|
파이썬 문자열 자료형(문자열 활용) (6) | 2025.08.06 |
파이썬 문자열 자료형(따옴표 및 이스케이프 활용) (2) | 2025.07.27 |
파이썬 숫자형을 활용한 연산자 (1) | 2025.07.24 |
파이썬 프로그래밍의 기초, 자료형(숫자형) (1) | 2025.07.17 |