1. 문자열 기본 개념
- 문자열은 싱글 쿼테이션(') 또는 더블 쿼테이션(")으로 감싸며, 특수문자는 백슬래시(\)를 사용하여 이스케이프합니다.
- 문자열의 특정 위치 값에 접근하기 위해서는 아래와 같은 문법을 사용합니다: 변수[시작인덱스:끝인덱스]. 여기서 끝인덱스는 포함되지 않습니다.
- 문자열 인덱스는 다음과 같이 양수와 음수로 표현됩니다:
| C | o | d | i | n | g | |
|---|---|---|---|---|---|---|
| 앞쪽부터 인덱스 | 0 | 1 | 2 | 3 | 4 | 5 |
| 뒤쪽부터 인덱스 | -6 | -5 | -4 | -3 | -2 | -1 |
문자열 출력 예제
text = "코딩"
print(text) # 전체 문자열 출력
print(text[:5]) # 처음부터 5번째 전까지 출력
print(text[0]) # 첫 번째 문자 출력
print(text[1:4]) # 두 번째부터 네 번째 전까지 출력
print(text[2:]) # 세 번째부터 끝까지 출력
print(text * 3) # 문자열 세 번 반복 출력
print(text + " 테스트") # 문자열 연결
2. 이스케이프 시퀀스
- 특수문자를 문자열 내부에서 사용하려면 백슬래시(\)를 사용하거나 문자열 앞에 r을 추가합니다.
| 이스케이프 시퀀스 | 설명 |
|---|---|
| \(줄末일 때) | 줄 연장자 |
| \\ | 백슬래시 itself |
| \' | 싱글 쿼테이션 |
| \" | 더블 쿼테이션 |
| \b | 백스페이스 |
| \n | 새로운 줄 |
| \t | 탭 |
3. 문자열 연산자
| 연산자 | 설명 | 예제 |
|---|---|---|
| + | 문자열 결합 | "안녕" + "하세요" → "안녕하세요" |
| * | 반복 | "A" * 3 → "AAA" |
| [] | 인덱스 접근 | "파이썬"[1] → "아" |
| [ : ] | 슬라이싱 | "파이썬"[1:3] → "아이" |
| in | 포함 여부 확인 | "a" in "apple" → True |
| not in | 미포함 여부 확인 | "z" not in "apple" → True |
4. 문자열 포매팅
- C 스타일 형식화:
name = "홍길동"
age = 25
print("제 이름은 %s이고 나이는 %d살입니다." % (name, age))
- f-string 방식 (Python 3.6+):
value = 10
print(f"값은 {value}입니다.")
# Python 3.8+
print(f"{value=}")
5. 멀티라인 문자열
- 삼중 따옴표(""" 또는 ''')를 사용하면 여러 줄에 걸쳐 문자열을 정의할 수 있습니다.
multi_line = """첫 번째 줄
두 번째 줄
세 번째 줄"""
print(multi_line)
6. 내장 문자열 메소드
| 메소드 | 설명 |
|---|---|
| upper() | 모든 문자를 대문자로 변환 |
| lower() | 모든 문자를 소문자로 변환 |
| strip() | 양쪽 공백 제거 |
| replace(old, new) | 문자열 치환 |
| split(separator) | 구분자로 문자열 분리 |
| startswith(prefix) | 특정 접두사로 시작하는지 확인 |
| endswith(suffix) | 특정 접미사로 끝나는지 확인 |
| find(substring) | 부분 문자열 위치 찾기 |
| count(substring) | 부분 문자열 개수 세기 |