문자열 바꾸기
문자열.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’ |
% | % 문자 표시 |