1. 문자열 생성과 기본 표현
문자열은 작은따옴표(' ')나 큰따옴표(" ")를 사용하여 생성할 수 있으며, 여러 줄 문자열은 세 개의 작은따옴표(''' ''')나 세 개의 큰따옴표(""" """)를 사용하여 생성할 수 있습니다.
str1 = 'Hello'
str2 = "World"
multiline_str = '''This is
a multiline
string.'''
설명: str1과 str2는 각각 작은따옴표와 큰따옴표로 생성된 문자열입니다. multiline_str은 여러 줄로 작성된 문자열이며, 작은따옴표 세 개(''' ''')를 사용하여 생성되었습니다.
2. 문자열 연산자
파이썬에서는 문자열을 조작할 수 있는 다양한 연산자를 제공합니다.
🔹 문자열 연결(+)
두 개의 문자열을 연결할 때 사용합니다.
str1 = "Hello"
str2 = "World"
result = str1 + " " + str2 # 결과: "Hello World"
설명: + 연산자는 두 문자열을 하나로 연결합니다. str1과 str2 사이에 공백을 추가하여 result 문자열을 생성합니다.
🔹 문자열 반복(``)
문자열을 여러 번 반복할 때 사용합니다.
str1 = "Hello"
result = str1 * 3 # 결과: "HelloHelloHello"
설명: * 연산자는 문자열을 반복하여 생성합니다. str1을 3번 반복하여 result에 저장합니다.
🔹 멤버십 연산자(in, not in)
특정 문자열이 다른 문자열에 포함되어 있는지 확인합니다.
str1 = "Hello World"
print("Hello" in str1) # 결과: True
print("Python" not in str1) # 결과: True
설명: in 연산자는 문자열에 특정 부분 문자열이 포함되어 있는지 확인하며, not in 연산자는 포함되지 않았는지 확인합니다.
🔹 인덱싱([])
문자열 내 특정 위치의 문자를 가져옵니다. 파이썬에서 문자열의 인덱스는 0부터 시작하며, 음수를 사용하여 뒤에서부터 접근할 수도 있습니다.
str1 = "Python"
print(str1[0]) # 결과: "P"
print(str1[-1]) # 결과: "n"
설명: [] 연산자를 사용해 문자열에서 특정 인덱스의 문자를 가져옵니다. str1[0]은 첫 번째 문자 "P"를 가져오고, str1[-1]은 마지막 문자 "n"을 가져옵니다.
🔹 슬라이싱([start:end:step])
문자열의 일부분을 가져올 때 사용합니다.
str1 = "Python Programming"
print(str1[0:6]) # 결과: "Python"
print(str1[7:]) # 결과: "Programming"
print(str1[::2]) # 결과: "Pto rgamn"
설명: 슬라이싱을 통해 문자열의 특정 범위나 간격으로 문자를 추출할 수 있습니다. str1[0:6]은 첫 6개 문자 "Python"을 가져오며, str1[::2]는 전체 문자열을 2 간격으로 추출해 "Pto rgamn"을 만듭니다.
🔹 비교 연산자 (==, !=, <, >, <=, >=)
두 문자열을 비교할 때 사용합니다. 파이썬에서는 사전순으로 비교를 수행합니다.
str1 = "apple"
str2 = "banana"
print(str1 == str2) # 결과: False
print(str1 < str2) # 결과: True
설명: 문자열 비교 연산자는 사전 순서를 기준으로 작동합니다. "apple"은 "banana"보다 앞에 위치하므로 str1 < str2는 True를 반환합니다.
3. 문자열 메서드
파이썬 문자열에는 문자열을 조작할 수 있는 여러 가지 메서드가 포함되어 있습니다.
🔹 대소문자 변경
- upper(): 문자열을 대문자로 변환
- lower(): 문자열을 소문자로 변환
- capitalize(): 첫 번째 문자를 대문자로 변환
str1 = "hello world"
print(str1.upper()) # 결과: "HELLO WORLD"
print(str1.capitalize()) # 결과: "Hello world"
설명: upper() 메서드는 문자열을 모두 대문자로 변환하고, capitalize()는 첫 문자만 대문자로 변환합니다.
🔹 공백 제거
- strip(): 문자열 양쪽 끝의 공백 제거
- lstrip(): 문자열 왼쪽 끝의 공백 제거
- rstrip(): 문자열 오른쪽 끝의 공백 제거
str1 = " hello world "
print(str1.strip()) # 결과: "hello world"
설명: strip() 메서드는 문자열의 양쪽 공백을 제거합니다. lstrip()은 왼쪽, rstrip()은 오른쪽 공백만 제거합니다.
🔹 부분 문자열 찾기
- find(substring): 부분 문자열의 첫 번째 위치 반환, 없으면 -1
- count(substring): 부분 문자열의 개수 반환
str1 = "hello world"
print(str1.find("world")) # 결과: 6
print(str1.count("l")) # 결과: 3
설명: find()는 부분 문자열의 시작 위치를 반환하고, count()는 문자열 내 부분 문자열의 개수를 반환합니다.
🔹 문자열 대체
- replace(old, new): 문자열 내 특정 부분을 다른 문자열로 대체
str1 = "Hello World"
print(str1.replace("World", "Python")) # 결과: "Hello Python"
설명: replace() 메서드는 문자열의 특정 부분을 다른 문자열로 대체합니다.
🔹 문자열 분리 및 결합
- split(delimiter): 구분자를 기준으로 문자열을 나눠 리스트로 반환
- join(iterable): 리스트 같은 반복 가능한 객체의 문자열 요소를 연결
str1 = "apple,banana,cherry"
fruits = str1.split(",") # 결과: ["apple", "banana", "cherry"]
words = ["Hello", "World"]
sentence = " ".join(words) # 결과: "Hello World"
설명: split()은 구분자를 기준으로 문자열을 나누고, join()은 리스트 요소를 하나의 문자열로 결합합니다.
4. 문자열의 불변성
파이썬 문자열은 불변(immutable) 자료형으로, 문자열을 생성한 이후에는 내용을 변경할 수 없습니다. 예를 들어, 문자열의 특정 인덱스의 값을 직접 변경할 수 없습니다.
str1 = "Hello"
# str1[0] = "h" # 오류 발생: TypeError
설명: 문자열은 불변 자료형이므로 인덱스를 통해 값을 직접 수정할 수 없습니다. 이를 수정하려면 새로운 문자열을 생성해야 합니다.
'파이썬 Python' 카테고리의 다른 글
파이썬 Python 모듈과 라이브러리 사용하는 방법 (0) | 2024.11.18 |
---|---|
파이썬 Python 파일 입출력 (File I/O) 사용하기 (1) | 2024.11.13 |
파이썬 가상 환경 (Virtual Environments) 만들고 사용하는 방법 (0) | 2024.11.12 |
파이썬 리스트(List) 객체 사용 방법 (0) | 2024.11.12 |
Python 파이썬 for 문 사용하기 (1) | 2024.11.08 |
파이썬(Python) PyQt5 QVBoxLayout, QHBoxLayout 레이아웃 사용하기 (1) | 2024.10.26 |
파이썬 Python 숫자형 데이터 타입 (정수, 실수) (1) | 2024.10.25 |
파이썬(Python) PyQt5 QGroupBox 사용해서 위젯 그룹 관리하기 (1) | 2024.10.12 |