# 문자열
## 인용 부호로 문자열 생성
```python
'Snap' # 'Snap'
"Crackle" # 'Crackle'
"'Nay, ' said the naysayer." # "'Nay, ' said the naysayer."
'"The rare double quote in captivity: ".' # 'The rare double quote in captivity: ".'
'A "two by four" is actually 1 1/2" x 3 1/2".' # 'A "two by four" is actually 1 1/2" x 3 1/2".'
"There's the man that shot my pawl' cried the limping hound." # "There's the man that shot my pawl' cried the limping hound."
```
### 다중 문자열
```python
'''Boom!''' # 'Boom'
"""Eek!""" # 'Eak!'
poem = '''There was a Young Lady of Norway,
Who casually sat in a doorway;
When the door sqeezed her flat,
She exClaimed, "What of that?"
This courageous Young Lady of Norway.'''
```
## 데이터 타입 변환: str()
```python
str(98.6) # '98.6'
str(1.0e4) # '10000.0'
str(True) # 'True'
```
문자열이 아닌 객체를 print()로 호출하면 내부적으로 str()으로 사용됨.
## 이스케이프 문자
- \n: 줄바꿈
```python
palindrome = 'A man, \nA plan,\nA canal:\nPanama.'
print(palindrome)
# A man,
# A plan,
# A canal,
# Panama.
```
- \t: 탭 공백
- \" 혹은 \': 단일 또는 이중 인용 부호
- \\: 백슬래쉬 출력
## 결합: +
```python
'Release the kraken! ' + 'At once'
# 'Release the kraken! At once!'
```
## 복제: *
```python
start = 'Na ' * 4 + '\n'
middle = 'Hey ' * 3 + '\n'
end = 'Goodbye.'
print(start + start + middle + end)
# Na Na Na Na
# Na Na Na Na
# Hey Hey Hey
# Goodbye.
```
## 문자 추출: []
```python
letters = 'abcde'
letters[0] # 'a'
```
## 문자열 변경
```python
name = 'Henny'
name.replace('H', 'P') # 'Penny'
'P' + name[1:] # 'Penny'
```
## 슬라이스
한 문자열에서 문자열의 일부를 추출할 수 있다. 끝에서 왼쪽으로 가는 오프셋은 -1, -2, -3임.
- [:] 처음부터 끝까지 전체 시퀀스를 추출
- [start:] start 오프셋부터 끝까지 시퀀스 추출
- [:end] 처음부터 (end-1) 오프셋까지 시퀀스 추출
- [start:end] start 오프셋부터 (end-1) 오프셋까지 시퀀스를 추출
- [start:end:step] step만큼 문자를 건너뛰면서, start 오프셋부터 (end-1) 오프셋까지 시퀀스 추출
## 문자열 길이: len()
```python
len(letters)
empty = ""
len(empty) # 0
```
## 문자열 나누기: split()
매개변수가 없다면 공백문자(줄바꿈, 스페이스, 탭)을 사용함.
```python
string.function(arguments)
```
## 문자열 결합: join()
문자열 list를 하나의 문자열로 결합
```python
crypto_list = ['Yeti', 'Bigfoot', 'Loch Ness Monster']
crypto_string = ', '.join(crypto_list)
```
## 기타 문자열 다루기
### startswith()
```python
poem.startswith('All')
```
### endswith()
```python
poem.endswith('All')
```
### find()
처음 일치하는 매개변수 문자열을 찾아 오프셋을 출력.
```python
word = 'the'
poem.find(word)
```
### rfind()
마지막으로 일치하는 매개변수 문자열을 찾아 오프셋을 출력.
```python
word = 'the'
poem.rfind(word)
```
### count()
매개변수 문자열과 일치하는 갯수
### isalnum()
글자와 숫자로만 이루어져 있는지 체크
## 대소문자와 배치
### strip()
양끝에서 매개변수의 문자를 삭제
### capitalize()
첫번째 문자를 대문자로 변환
### title()
모든 단어의 첫번쨰 문자를 대문자로 변환
### upper()
대문자로 변환
### lower()
소문자로 변환
### swapcase()
대문자와 소문자를 swap
### center()
문자열을 지정한 공간에서 중앙에 배치
### ljust()
왼쪽 정렬
### rjust()
오른쪽 정렬
## 대체하기: replace()
from을 to로 count만큼 바꿈
```python
string.replace('from', 'to', count)
```