파이썬 문자열 자료형
파이썬에서 문자열(String)은 문자의 나열로 구성된 자료형으로, 문자뿐만 아니라 공백, 숫자, 특수 기호도 포함할 수 있습니다. 문자열 자료형은 주로 텍스트 데이터를 표현하는 데 사용되며, 큰따옴표(" "
), 작은따옴표(' '
), 혹은 삼중 따옴표(""" """
또는 ''' '''
)를 사용해 정의할 수 있습니다.
string1 = "Hello, World!" # 큰따옴표 사용
string2 = 'Python is great' # 작은따옴표 사용
string3 = """This is a multiline
string""" # 삼중 따옴표 사용 (여러 줄로 구성된 문자열)
문자열의 특징
1. 변경 불가능(Immutable)
문자열은 변경 불가능한 자료형입니다. 즉, 문자열이 한번 정의되면 그 내용을 변경할 수 없습니다. 문자열의 일부만 바꾸는 것은 직접적으로 불가능하며, 대신 새로운 문자열을 생성해야 합니다.
2. 인덱싱과 슬라이싱
문자열은 각각의 문자가 인덱스 번호를 가지며, 이를 통해 특정 문자에 접근할 수 있습니다. 파이썬의 인덱스는 0부터 시작합니다.
text = "Python"
print(text[0]) # 'P'
print(text[-1]) # 'n' (마지막 문자)
문자열의 일부분을 잘라낼 수 있는 슬라이싱도 지원됩니다.
print(text[1:4]) # 'yth'
print(text[:2]) # 'Py'
print(text[2:]) # 'thon'
3. 문자열 연산
문자열은 +
연산자를 이용해 결합할 수 있습니다(문자열 연결).
str1 = "Hello"
str2 = "World"
result = str1 + " " + str2 # "Hello World"
또한 문자열을 *
연산자를 이용해 반복할 수도 있습니다.
repeated = "Hello " * 3 # "Hello Hello Hello "
4. 문자열 메서드
문자열 자료형에는 다양한 유용한 메서드들이 내장되어 있어 문자열을 조작할 때 사용됩니다. 예를 들면:
str.upper()
: 문자열을 모두 대문자로 변환str.lower()
: 문자열을 모두 소문자로 변환str.strip()
: 문자열의 앞뒤 공백 제거str.split()
: 특정 구분자를 기준으로 문자열을 나눔str.replace(a, b)
: 문자열의 특정 부분을 다른 문자열로 대체str.find(sub)
: 문자열 내에서 부분 문자열의 첫 번째 위치 반환
greeting = " Hello, Python! "
print(greeting.strip()) # "Hello, Python!"
print(greeting.upper()) # " HELLO, PYTHON! "
print(greeting.replace("Python", "World")) # " Hello, World! "
5. 포매팅
문자열 포매팅은 변수를 문자열에 삽입하는 기능을 제공합니다. 파이썬에서는 다양한 문자열 포매팅 방법이 있습니다.
f-strings (파이썬 3.6 이상)
name = "Alice"
age = 25
print(f"My name is {name} and I am {age} years old.")
str.format()
메서드
print("My name is {} and I am {} years old.".format(name, age))
퍼센트(%) 포매팅
print("My name is %s and I am %d years old." % (name, age))
요약
- 문자열은 큰따옴표나 작은따옴표로 정의됩니다.
- 문자열은 변경 불가능하며, 인덱싱과 슬라이싱이 가능합니다.
- 문자열 결합(
+
) 및 반복(*
) 연산이 가능합니다. - 다양한 내장 메서드와 포매팅 기능을 제공합니다.
이러한 기능들을 활용하면 문자열 데이터를 쉽게 다루고 조작할 수 있습니다.