
문자열 바꾸기
문자열.replace(‘바꿀문자열’, ‘새문자열’) : 문자열 단위로 바꾼다.
print('hellow python'.replace('python','world'))
>>>hellow python
문자 바꾸기
문자열.translate(str.maketrans(‘바꿀문자열’, ‘새문자열’)) : 문자 단위로 바꾼다.
table = str.maketrans('aeiou', '12345')
print('apple'.translate(table))
>>>1ppl2
문자열 분리
문자열.split(‘요소’) : 지정 요소를 기준으로 문자열 분리한다.(미지정시 공백으로 분리)
print('aab abb abc acc'.split())
>>>['aab', 'abb', 'abc', 'acc']
print('aab,abb,abc,acc'.split(','))
>>>['aab', 'abb', 'abc', 'acc']
문자열 연결
‘요소’.join(리스트) : 지정 요소로 문자열 연결한다.
print(' '.join(['aab', 'abb', 'abc', 'acc']))
>>>aab abb abc acc
print(','.join(['aab', 'abb', 'abc', 'acc']))
>>>aab,abb,abc,acc
대소문자 변경
문자열.upper() : 소문자를 대문자로 변경한다.
문자열.lower() : 대문자를 소문자로 변경한다.
print('aaa'.upper())
>>>AAA
print('AAA'.lower())
>>>aaa
공백 삭제
문자열.lstrip(‘요소’) : 왼쪽 기준으로 처음 나오는 문자의 왼쪽 지정 요소를 제거한다.
문자열.rstrip(‘요소’) : 오른쪽 기준으로 처음 나오는 문자의 오른쪽 지정 요소를 제거한다.
문자열.strip(‘요소’) : 각 양 끝에 처음 나오는 문자까지의 지정 요소를 제거한다.
* 요소 미지정시 공백 제거
print(' a '.lstrip())
print(' a '.rstrip())
print(' a '.strip())
>>>'a '
>>>' a'
>>>'a'
print(', python.'.lstrip(',.'))
print(', python.'.rstrip(',.'))
print(', python.'.strip(',.'))
>>>' python.'
>>>', python'
>>>' python'
문자열 정렬하기
문자열.ljust(자릿수) : 자릿수만큼의 공간을 확보하고 왼쪽으로 정렬한다.
문자열.rjust(자릿수) : 자릿수만큼의 공간을 확보하고 오른쪽으로 정렬한다.
문자열.center(자릿수) : 자릿수만큼의 공간을 확보하고 가운데쪽으로 정렬한다.
print('python'.ljust(10))
print('python'.rjust(10))
print('python'.center(10))
>>>'python '
>>>' python'
>>>' python '
문자열 0 채우기
문자열.zfill(자릿수) : 자릿수만큼의 공간을 확보하고 빈칸을 0으로 채운다.
print('1'.zfill(4))
>>>0001
문자열 위치 찾기
문자열.find(‘요소’) : 왼쪽을 기준으로 처음 검색된 지정 요소의 인덱스를 반환한다. 못 찾으면 -1을 반환한다.
문자열.rfind(‘요소’) : 오른쪽을 기준으로 처음 검색된 지정 요소의 인덱스를 반환한다. 못 찾으면 -1을 반환한다.
문자열.index(‘요소’) : 왼쪽을 기준으로 처음 검색된 지정 요소의 인덱스를 반환한다. 못 찾으면 에러가 발생한다.
문자열.rindex(‘요소’) : 오른쪽을 기준으로 처음 검색된 지정 요소의 인덱스를 반환한다. 못 찾으면 에러가 발생한다.
print('apple pineapple'.find('pl'))
>>>2 #중복시 처음찾은 인덱스
print('apple pineapple'.find('xy'))
>>>-1 #없으면 -1
print('apple pineapple'.rfind('pl'))
>>>12 #중복시 처음찾은 인덱스
print('apple pineapple'.rfind('xy'))
>>>-1 #없으면 -1
print('apple pineapple'.index('pl'))
>>>2 #중복시 처음찾은 인덱스
print('apple pineapple'.rindex('pl'))
>>>12 #중복시 처음찾은 인덱스
특정문자열 개수 세기
문자열.count(‘요소’) : 지정 요소가 몇 번 나오는지 반환한다.
print('apple pineapple'.count('pl'))
>>>2
서식지정자로 문자열 넣기
# %s에 aaa라는 문자열 대입(%s는 문자열 대입 서식)
print('%s' % 'aaa')
>>>aaa
# %s에 a 문자열 변수의 값을 대입
a='aaa'
print('%s' % a)
>>>aaa
# %d에 20이라는 정수 대입(%d는 정수 대입 서식)
print('%d' % 20)
>>>20
# %f에 2.5라는 실수 대입(%f는 실수 대입 서식)
print('%f' % 2.5)
>>>2.5
# %.3f를 사용하여 대입되는 실수의 소숫점 셋째자리까지 표시
print('%.3f' % 2.5)
>>>2.500
# %10s를 사용하여 대입되는 문자열을 10자리 공간에 표시
print('%10s' % 'aaa')
>>>' aaa'
# {인덱스}를 사용하여 값을 순서에 맞춰 값을 대입
print('{0} {2} {1}'.format('a','b','c'))
>>>a c b
# {키}를 사용하여 값을 키에 맞는 위치에 값을 대입
print('{a} {b} {c}'.format(a='aaa',b='bbb',c='ccc'))
>>>aaa bbb ccc
# f' {변수}'를 사용하여 변수 값을 대입
a='aaa'
b='bbb'
c='ccc'
print(f'{a} {b} {c}')
>>>aaa bbb ccc
# '{0:<10}'를 사용하여 0인덱스에 aaa라는 문자열을 10자리 공간에 왼쪽정렬하여 표시
print('{0:<10}'.format('aaa'))
>>>'aaa '
# '{0:<10}'를 사용하여 0인덱스에 aaa라는 문자열을 10자리 공간에 오른쪽정렬하여 표시
print('{0:>10}'.format('aaa'))
>>>' aaa'
# '%03d'를 사용하여 3자리 공간에 정수 1을 대입하고 나머지 공백은 0으로 표시
print('%03d' % 1)
>>>001
# '{0:03d}'를 사용하여 3자리 공간에 정수 35을 대입하고 나머지 공백은 0으로 표시
print('{0:03d}'.format(35))
>>>035
# '%08.2f'를 사용하여 8자리 공간에 3.6을 소숫점 둘째자리까지 표시하고 나머지 공백은 0 표시
print('%08.2f' % 3.6)
>>>00003.60
# '%08.2f'를 사용하여 8자리 공간에 150.37을 소숫점 둘째자리까지 표시하고 나머지 공백은 0 표시
print('{0:08.2f}'.format(150.37))
>>>00150.37
print('{0:0<10}'.format(15)) # 길이 10, 왼쪽으로 정렬하고 남는 공간은 0으로 채움
>>>1500000000
print('{0:0>10}'.format(15)) # 길이 10, 오른쪽으로 정렬하고 남는 공간은 0으로 채움
>>>0000000015
print('{0: >10}'.format(15)) # 남는 공간을 공백으로 채움
>>>' 15'
print('{0:>10}'.format(15)) # 채우기 부분을 생략하면 공백이 들어감
>>>' 15'
print('{0:x>10}'.format(15)) # 남는 공간을 문자 x로 채움
>>>'xxxxxxxx15'
#천단위 콤마
print(format(1493500, ','))
>>>'1,493,500'
print('%20s' % format(1493500, ',')) # 길이 20, 오른쪽으로 정렬
>>>' 1,493,500'
print('{0:,}'.format(1493500))
>>>'1,493,500'
print('{0:>20,}'.format(1493500)) # 길이 20, 오른쪽으로 정렬
>>>' 1,493,500'
print('{0:0>20,}'.format(1493500)) # 길이 20, 오른쪽으로 정렬하고 남는 공간은 0으로 채움
>>>'000000000001,493,500'
문자열 메서드
| 메서드 | 설명 |
| replace(‘바꿀문자열’, ‘새문자열’) | 문자열 안의 문자열을 다른 문자열로 바꿈 |
| translate(테이블) | 문자열 안의 문자를 다른 문자로 바꿈, str.maketrans(‘바꿀문자’, ‘새문자’)로 변환 테이블을 만들어야 함 |
| split() split(‘기준문자열’) | 공백을 기준으로 문자열을 분리하여 리스트로 만듦기준 문자열을 지정하면 기준 문자열로 문자열을 분리 |
| join(리스트) | 구분자 문자열과 문자열 리스트(튜플)의 요소를 연결하여 문자열로 만듦 |
| upper() lower() | upper는 문자열의 문자를 대문자로 바꾸고, lower는 소문자로 바꿈 |
| lstrip(‘삭제할문자들’) rstrip(‘삭제할문자들’) strip(‘삭제할문자들’) | lstrip은 문자열에서 왼쪽 삭제할 문자들을 삭제, rstrip은 오른쪽 삭제할 문자들을 삭제, strip은 양쪽 삭제할 문자들을 삭제, 삭제할 문자들을 미지정하면 공백을 삭제 |
| ljust(길이) rjust(길이) center(길이) | 문자열을 지정된 길이로 만든 뒤 왼쪽(ljust), 오른쪽(rjust), 가운데(center)로 정렬하며 남는 공간은 공백으로 채움 |
| zfill() | 지정된 길이에 맞춰서 문자열의 왼쪽에 0을 채움 |
| find(‘찾을문자열’) rfind(‘찾을문자열’) | find는 왼쪽에서부터, rfind는 오른쪽에서부터 특정 문자열을 찾아서 인덱스 반환, 문자열이 없으면 -1을 반환 |
| index(‘찾을문자열’) rindex(‘찾을문자열’) | index는 왼쪽에서부터, rindex는 오른쪽에서부터 특정 문자열을 찾아서 인덱스를 반환, 문자열이 없으면 에러 발생 |
| count(‘문자열’) | 현재 문자열에서 특정 문자열이 몇 번 나오는지 알아냄 |
서식지정자 자료형
| 자료형 | 설명 |
| s | 문자열 |
| b | 2진수 |
| c | 문자 |
| d | 10진 정수 |
| o | 8진 정수, 예) ‘%o’ % 8은 ’10’ |
| x | 16진 정수, 0~9, a~f, 예) ‘%x’ % 254는 ‘fe’ |
| X | 16진 정수, 0~9, A~F, 예) ‘%X’ % 254는 ‘FE’ |
| e | 실수 지수 표기법, 예) ‘%e’ % 2.3은 ‘2.300000e+00’ |
| E | 실수 지수 표기법, 예) ‘%E’ % 2.3은 ‘2.300000E+00’ |
| f | 실수 소수점 표기 |
| F | 실수 소수점 표기, f와 같음, nan은 NAN, inf는 INF로 표시(nan은 숫자가 아니라는 뜻, inf는 무한대) |
| g | 실수 일반 형식, 예) ‘%g’ % 2.3e-10은 ‘2.3e-10’ |
| G | 실수 일반 형식, 예) ‘%G’ % 2.3e-10은 ‘2.3E-10’ |
| % | % 문자 표시 |