파이썬에서 문자열은 텍스트 데이터를 저장하고 처리하는 불변(immutable) 자료형입니다. 문자열은 작은따옴표(' ')나 큰따옴표(" ")로 생성하며, 다양한 메서드를 사용하여 쉽게 조작할 수 있습니다.
1. 문자열 생성
문자열은 작은따옴표(' ')나 큰따옴표(" ")로 생성할 수 있습니다. 여러 줄 문자열은 세 개의 작은따옴표(''' ''')나 세 개의 큰따옴표(""" """)를 사용하여 생성합니다.
# 기본 문자열 생성
str1 = 'Hello'
str2 = "World"
# 여러 줄 문자열
multiline_str = '''This is
a multiline
string.'''
2. 문자열 인덱싱과 슬라이싱
문자열에서 인덱스를 통해 특정 위치의 문자에 접근하거나 슬라이싱을 통해 문자열의 일부분을 가져올 수 있습니다.
str1 = "Hello, World!"
# 인덱싱
print(str1[0]) # 결과: H
print(str1[-1]) # 결과: !
# 슬라이싱
print(str1[0:5]) # 결과: Hello
print(str1[7:]) # 결과: World!
print(str1[::2]) # 결과: Hlo ol!
설명: str1[0:5]는 인덱스 0부터 4까지의 문자열을 가져오며, str1[::2]는 2 간격으로 문자들을 가져옵니다.
3. 문자열 결합과 반복
문자열은 + 연산자를 사용해 결합할 수 있으며, * 연산자를 사용해 반복할 수 있습니다.
str1 = "Hello"
str2 = "World"
# 문자열 결합
greeting = str1 + " " + str2
print(greeting) # 결과: Hello World
# 문자열 반복
repeat_str = str1 * 3
print(repeat_str) # 결과: HelloHelloHello
4. 문자열 메서드
파이썬에는 문자열을 다루기 위한 다양한 내장 메서드가 있습니다.
🔹 upper() / lower()
대문자 또는 소문자로 변환합니다.
text = "Hello World"
print(text.upper()) # 결과: HELLO WORLD
print(text.lower()) # 결과: hello world
🔹 strip() / lstrip() / rstrip()
양쪽, 왼쪽, 오른쪽 공백을 제거합니다.
text = " Hello World "
print(text.strip()) # 결과: Hello World
print(text.lstrip()) # 결과: Hello World
print(text.rstrip()) # 결과: Hello World
🔹 replace()
특정 문자열을 다른 문자열로 바꿉니다.
text = "Hello World"
print(text.replace("World", "Python")) # 결과: Hello Python
🔹 split()
구분자를 기준으로 문자열을 나눠 리스트로 반환합니다.
text = "apple,banana,cherry"
print(text.split(",")) # 결과: ['apple', 'banana', 'cherry']
🔹 join()
리스트 같은 반복 가능한 객체의 문자열 요소를 결합하여 하나의 문자열로 만듭니다.
fruits = ["apple", "banana", "cherry"]
print(", ".join(fruits)) # 결과: apple, banana, cherry
5. 문자열 포맷팅
파이썬은 문자열 포맷팅을 위해 여러 방법을 제공합니다.
🔹 format() 메서드
name = "Alice"
age = 25
greeting = "My name is {} and I am {} years old.".format(name, age)
print(greeting) # 결과: My name is Alice and I am 25 years old.
🔹 f-string (Python 3.6+)
name = "Alice"
age = 25
greeting = f"My name is {name} and I am {age} years old."
print(greeting) # 결과: My name is Alice and I am 25 years old.
6. 문자열 검색과 검사
🔹 find() / index()
특정 문자열의 위치를 찾습니다. find()는 없으면 -1을 반환하고, index()는 오류를 발생시킵니다.
text = "Hello World"
print(text.find("World")) # 결과: 6
print(text.index("World")) # 결과: 6
🔹 count()
특정 문자열의 개수를 반환합니다.
text = "banana"
print(text.count("a")) # 결과: 3
🔹 startswith() / endswith()
문자열이 특정 문자열로 시작하거나 끝나는지 확인합니다.
text = "Hello World"
print(text.startswith("Hello")) # 결과: True
print(text.endswith("Python")) # 결과: False
7. 문자열의 불변성
파이썬의 문자열은 불변 자료형이므로, 한 번 생성되면 내용을 변경할 수 없습니다. 따라서 문자열을 수정하려면 새로운 문자열을 만들어야 합니다.
text = "Hello"
# text[0] = "h" # 오류 발생: TypeError
# 새로운 문자열을 생성하여 수정 가능
text = "h" + text[1:]
print(text) # 결과: hello
8. 문자열 내장 함수
파이썬의 문자열은 다양한 내장 함수를 제공합니다.
🔹 len()
문자열의 길이를 반환합니다.
text = "Hello World"
print(len(text)) # 결과: 11
🔹 ord() / chr()
문자를 아스키(ASCII) 또는 유니코드 값으로 변환하고, 그 반대도 수행합니다.
print(ord("A")) # 결과: 65
print(chr(65)) # 결과: A
9. 다중 라인 문자열 (여러 줄 문자열)
여러 줄로 구성된 문자열을 표현하기 위해 ''' 또는 """를 사용합니다.
text = """This is a
multiline
string."""
print(text)
이처럼 파이썬은 문자열을 다루기 위한 다양한 메서드와 기능을 제공하여 문자열을 쉽게 조작하고 원하는 형식으로 변환할 수 있습니다. 문자열 다루기는 텍스트 데이터를 처리하는 데 매우 중요하며, 데이터 분석과 웹 개발 등 다양한 분야에서 유용하게 활용됩니다.
'파이썬 Python' 카테고리의 다른 글
파이썬 Python 날짜와 시간 다루기 (0) | 2024.11.26 |
---|---|
파이썬 Python 파일 경로 다루기 (0) | 2024.11.23 |
파이썬 Python 제너레이터와 이터레이터 사용하기 (0) | 2024.11.23 |
파이썬 Python 데코레이터 활용하기 (0) | 2024.11.21 |
파이썬 Python 패키지 관리자 (pip) (0) | 2024.11.18 |
파이썬 Python 모듈과 라이브러리 사용하는 방법 (0) | 2024.11.18 |
파이썬 Python 파일 입출력 (File I/O) 사용하기 (1) | 2024.11.13 |
파이썬 가상 환경 (Virtual Environments) 만들고 사용하는 방법 (0) | 2024.11.12 |