Please Enable JavaScript!
Gon[ Enable JavaScript ]

파이썬 Python 문자열 다루기

파이썬 Python
반응형

파이썬에서 문자열은 텍스트 데이터를 저장하고 처리하는 불변(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)


이처럼 파이썬은 문자열을 다루기 위한 다양한 메서드와 기능을 제공하여 문자열을 쉽게 조작하고 원하는 형식으로 변환할 수 있습니다. 문자열 다루기는 텍스트 데이터를 처리하는 데 매우 중요하며, 데이터 분석과 웹 개발 등 다양한 분야에서 유용하게 활용됩니다.

반응형
Posted by 녹두장군1
,