String (문자열) 이란?
문자의 연속으로 텍스트 데이터를 저장하는 데 사용된다.
파이썬에서는 작은 따옴표(') 또는 큰따옴표(")로 문자열을 정의할 수 있다.
특징
- 불변성: 문자열은 생성된 후 수정할 수 없습니다. 예를 들어, 문자열의 일부 문자를 변경할 수 없다.
- 인덱싱과 슬라이싱: 문자열의 각 문자는 인덱스로 접근할 수 있습니다. 인덱스는 0부터 시작한다.
text = "Hello"
first_char = text[0] # 'H'
substring = text[1:4] # 'ell'
메소드
1. 문자열 변형 및 조작 함수
- replace(): 문자열 내에서 특정 문자열을 다른 문자열로 교체
text = "Hello, World!"
new_text = text.replace("World", "Python") # "Hello, Python!"
- split(): 문자열을 특정 구분자를 기준으로 분리하여 리스트로 반환
text = "apple,banana,cherry"
fruits = text.split(",") # ['apple', 'banana', 'cherry']
- join(): 리스트의 요소들을 하나의 문자열로 결합, 특정 구분자를 사용
fruits = ['apple', 'banana', 'cherry']
text = ", ".join(fruits) # "apple, banana, cherry"
- 특정 문자 제거
- strip(): 문자열의 시작과 끝에서 특정 문자를 제거 (기본값은 공백)
- lstrip(): 문자열의 시작에서 특정 문자를 제거
- rstrip(): 문자열의 끝에서 특정 문자를 제거
text = " Hello, World! "
stripped_text = text.strip() # "Hello, World!"
lstripped_text = text.lstrip() # "Hello, World! "
rstripped_text = text.rstrip() # " Hello, World!"
2. 문자열 검사 함수
- startswith(): 문자열이 특정 문자열로 시작하는지 여부를 반환
- endswith(): 문자열이 특정 문자열로 끝나는지 여부를 반환
text = "Hello, World!"
starts_with_hello = text.startswith("Hello")
ends_with_hello = text.endswith("Hello")
print(starts_with_hello) # True
print(ends_with_hello) # False
- find(): 특정 문자열이 처음으로 나타나는 위치의 인덱스를 반환 (없으면 -1 반환)
- rfind(): 특정 문자열이 마지막으로 나타나는 위치의 인덱스를 반환 (없으면 -1 반환)
text = "Hello, World! Hello, Python!"
index_of_world = text.find("World") # 7
last_index_of_hello = text.rfind("Hello") # 14
- count(): 문자열 내에서 특정 문자열의 출현 횟수를 반환
text = "banana"
count_of_a = text.count("a") # 3
3. 문자열 변환 함수
- upper(): 문자열을 모두 대문자로 변환
- lower(): 문자열을 모두 소문자로 변환
- capitalize(): 문자열의 첫 번째 문자를 대문자로 변환하고 나머지는 소문자로 변환
- title(): 문자열 내 각 단어의 첫 번째 문자를 대문자로 변환
- swapcase(): 문자열 내 대문자는 소문자로 소문자는 대문자로 변환
text = "Hello, World!"
upper_text = text.upper() # "HELLO, WORLD!"
lower_text = text.lower() # "hello, world!"
swapped_text = text.swapcase() # "hELLO, wORLD!"
text2 = "hello, world!"
capitalized_text = text2.capitalize() # "Hello, world!"
title_text = text2.title() # "Hello, World!"
4. 문자열 정렬 함수
- center(): 문자열을 지정된 길이로 만들고 가운데 정렬하며 나머지는 특정 문자로 채움
- ljust(): 문자열을 지정된 길이로 만들고 왼쪽 정렬하며 나머지는 특정 문자로 채움
- rjust(): 문자열을 지정된 길이로 만들고 오른쪽 정렬하며 나머지는 특정 문자로 채움
text = "Hello"
centered_text = text.center(10, "*") # "**Hello***"
left_justified_text = text.ljust(10, "*") # "Hello*****"
right_justified_text = text.rjust(10, "*") # "*****Hello"
총 정리
기능 | 메소드명 | 하는 일 |
변형 | replace(str str1, str str2) | 문자열 내에서 특정 문자열 str1을 다른 문자열 str2로 교체 |
split(str sep) | 문자열을 특정 구분자 sep를 기준으로 분리하여 리스트로 반환 | |
join([] exlist) | 리스트 exlist의 요소들을 하나의 문자열로 결합, 특정 구분자를 사용 | |
문자 제거 | strip() | 문자열의 시작과 끝에서 특정 문자를 제거 (기본값은 공백) |
lstrip() | 문자열의 시작에서 특정 문자를 제거 | |
rstrip() | 문자열의 끝에서 특정 문자를 제거 | |
문자열 검사 | startswith(str str1) | 문자열이 특정 문자열 str1로 시작하는지 여부를 반환 |
endswith(str str1) | 문자열이 특정 문자열 str1로 끝나는지 여부를 반환 | |
find(str str1) | 특정 문자열 str1이 처음으로 나타나는 위치의 인덱스를 반환 (없으면 -1 반환) | |
rfind(str str1) | 특정 문자열 str1이 마지막으로 나타나는 위치의 인덱스를 반환 (없으면 -1 반환) | |
count(str str1) | 문자열 내에서 특정 문자열 str1의 출현 횟수를 반환 | |
변환 | upper() | 문자열을 모두 대문자로 변환 |
lower() | 문자열을 모두 소문자로 변환 | |
capitalize() | 문자열의 첫 번째 문자를 대문자로 변환하고 나머지는 소문자로 변환 | |
title() | 문자열 내 각 단어의 첫 번째 문자를 대문자로 변환 | |
swapcase() | 문자열 내 대문자는 소문자로, 소문자는 대문자로 변환 | |
정렬 | center(int length, str str1) | 문자열을 지정된 길이 length로 만들고 가운데 정렬하며 나머지는 특정 문자 str1로 채움 |
ljust(int length, str str1) | 문자열을 지정된 길이 length로 만들고 왼쪽 정렬하며 나머지는 특정 문자 str1로 채움 | |
rjust(int length, str str1) | 문자열을 지정된 길이 length로 만들고 오른쪽 정렬하며 나머지는 특정 문자 str1로 채움 |
리스트의 메소드를 배우고 싶다면
이 글을 참고하시면 됩니다!
'Python' 카테고리의 다른 글
[Python] List Comprehension (리스트 컴프리헨션) 에 대해 (0) | 2024.07.16 |
---|---|
[Python] List (리스트) 다루기 (1) (0) | 2024.07.16 |