본문 바로가기

Languages/Python

[파이썬 101] string 외장 및 내장 모듈 (문자열)

728x90

 

 

 

문자열 상수 (외장 string 라이브러리)

상수 (string.constant) 설명 예시
ascii_letters ascii_lowercase + ascii_uppercase 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
ascii_lowercase 영어 소문자 "abcdefghijklmnopqrstuvwxyz"
ascii_uppercase 영어 대문자 "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
digits 10진법 digits "0123456789"
hexdigits 16진법 digits "0123456789ABCDEF"
octdigits 8진법 digits "01234567"
punctuation 특수기호 "!"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~"
printable 인쇄 간능한 ASCII 문자 "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~ 
\x0b\x0c"
whitespace 공백으로 간주하는 ASCII 문자
\x0b\x0c'

 

 

 

문자열 메서드 1 : 패턴 매칭

메서드 인자 설명
count sub[, start[, end]] [start, end]에서 sub이 등장하는 횟수 반환 (중첩 X)
endswith suffix[, start[, end]] 문자열[start, end]가 suffix로 끝나면 True, 아니면 false.
find sub[, start[, end]] [start, end] 에서 sub가 처음 등장하는 인덱스를 반환. 없으면 -1 반환
index sub[, start[, end]] find와 유사하지만 없으면 ValueError 반환
lstrip [chars] 문자열의 왼쪽 끝에 chars에 속한 문자를 제거하여 반환. 기본값은 공백
partition sep sep이 처음 등장하는 위치에서 (sep 이전, sep, sep 이후) 튜플을 반환. sep이 없으면 (문자열, "", "") 반환
removeprefix prefix 문자열이 prefix로 시작할 경우 제거하여 복사본 반환
removesuffix suffix 문자열이 suffix로 끝날 경우 제거하여 복사본 반환
replace olds, new[, count] old와 매칭되는 count개의 부분을 new로 치환. 
rfind sub[, start[, end]] [start, end]에서 sub와 매칭되는 가장 마지막 문자열의 시작 인덱스 반환. 없을 경우 -1 반환
rindex sub[, start[, end]] rfind와 같지만 없을 경우 ValueError 반환
rpartition sep sep이 마지막으로 등장하는 위치에서 partition과 동일하게 작동
rsplit sep=None, maxsplit=-1 마지막부터 split과 동일하게 작동
rstrip [chars] 문자열 오른쪽 끝에 chars에 속한 문자를 제거하여 반환. 기본값은 공백
split sep=None, maxxplit=-1 sep기준으로 나눈 문자열의 list 반환. 처음부터 maxsplit번 분할. sep이 None이면 공백 문자를 기준으로 파싱. 남는 문자가 없으면 빈 문자열 반환
startswith prefix[, start[, end]] [start, end]가 prefix로 시작하면 True, 아니면 False 반환
strip [chars] lstrip + rstrip (양쪽끝에서 제거)

 

 

 

문자열 메서드 2 : 변형

메서드 인자 설명
capitalize - 첫 문자는 대문자, 나머지는 소문자로 바꾼 복사본을 반환
casefold - 케이스 폴딩 된 문자열 반환
center width[, fillchar] 길이가 width이고 원래 문자열이 중앙에, 양옆으로 fillchar로 채워진 문자열 반환. width가 문자열 길이보다 작으면 원 문자열 반환. fillchar의 기본값은 공백
expandtabs tabsize=8 탭 문자를 tabsize개의 스페이스로 치환한 복사본 반환
format *args, **kwargs 문자열 포매팅 연산을 수행하는 메서드
format_map mapping str.format(**mapping)과 유사. 전달되는 mapping을 dict로 복사하지 않고 그대로 사용
ljust width[, fillchar] 길이가 width이고 원래 문자열이 왼쪽에, 오른쪽으로 fillchar로 채워진 문자열 반환. width가 문자열 길이보다 작으면 원 문자열 반환. fillchar의 기본값은 공백
lower - 문자열을 모두 소문자로 변환하여 복사본 반환
rjust width[, fillchar] 길이가 width이고 원래 문자열이 오른쪽에, 왼쪽으로 filcahr가 채워진 문자열 반환. width가 문자열 길이봐 작으면 원 문자열 반환. fillchar의 기본값은 공백
splitlines keepends=False 줄의 경계(\n, \r, \r\n, \v, \x0b, \f, \x0c, \x1c. \x1d, \x1e, \x85, \u2028, \u2029) 를 기준으로 나눈 문자열의 list 반환. keepends가 True면 줄바꿈을 결과에 포함
swapcase - 대문자는 소문자로, 소문자는 대문자로 변환한 복사본 반환. 두번 시행했을 경우에 원 문자열과 같지 않을 수 있음. (유니코드의 Lt 범주 등)
title - 단어의 시작은 대문자, 나머지는 소문자로 변환된 문자열을 반환
translate table table(매핑이나 시퀀스)를 기준으로 문자를 변환. 상세 내용은 공식 문서 참조
upper - 모든 케이스 문자를 대문자로 변환한 복사본 반환. upper를 시행해고 isupper가 False일 수 있음 (유니코드의 Lt 범주 등)
zfill width 길이가 width가 될때까지 왼쪽에 0으로 채워진 복사본을 반환. 시작이 '+'나 '-'일 경우 맨 앞 문자는 그대로 유지. width가 문자열의 길이보다 작으면 원래 문자열 반환

 

 

 

문자열 메서드 3 : 포함된 문자 확인

메서드 인자 설명
isalnum - 길이가 1 이상이고, 알파벳이나 숫자면 True
isalpha - 길이가 1 이상이고, 알파벳이면 True
isascii - 비어있거나, 모든 문자가 ascii면 True
isdecimal - 길이가 1 이상이고, 10진수 문자면  True
isdigit - 길이가 1 이상이고, 모든 문자가 digit(위 첨자 숫자 등을 포함)이면 True
isidentifier - 문자열이 식별자이거나 키워드면 True
islower - 케이스 문자가 존재하고, 소문자 알파벳이면 True
isnumeric - 길이가 1 이상이고, 모든 문자가 숫자면 True
isprintable - 비어있거나, 모두 printable이면 True
isspace - 길이가 1 이상이고, 공백문자만 있으면 True
istitile - 길이가 1 이상이고, 문자가 Title 형식이면 True
isupper - 케이스 문자가 존재하고, 모두 대문자면 True

 

 

 

문자열 메서드 4 : 기타

메서드 인자 설명
encode encoding='utf-8', errors='strict' 문자열은 encoding으로 인코딩한 바이트열 객체를 반환. error는 에러 처리 방식 (decode는 byte나 bytearray의 메소드)
join iterable 해당 문자열을 사이에 두고 iterable을 연결. iterable에 문자열이 아닌 값이 있으면 TypeError 발생

 

 

 

prinf 스타일의 문자열 포매팅

print('%(language)s has %(number)03d quote types.' % {'language': "Python", "number": 2})

 - 예시

 

 

변환
d 부호 있는 진수 정수
i 부호 있는 십진 정수
o 부호 있는 8진수
u 'd'와 동일
x 부호 있는 16진수 (소문자)
X 부호 있는 16진수 (대문자)
e 부동소수점 지수 형식 (소문자)
E 부동소수점 지수 형식 (대문자)
f 부동 소수점 십진수 형식
F 부동 소수점 십진수 형식
g 부동 소수점 형식 (지수가 -4보다 작거나 정밀도 보다 같거나 크면 'e'로, 작으면 'f'나 'F'로)
G 부동 소수점 형식 (지수가 -4보다 작거나 정밀도 보다 같거나 크면 'E'로, 작으면 'f'나 'F'로)
c 단일 문자 (정수나 길이가1인 문자열)
r 문자열 (repr()로 파이썬 객체 변환)
s 문자열 (str()로 파이썬 객체 변환)
a 문자열 (ascii()로 파이썬 객체 변환)
% %%로 쓰면 % 표시

 

 

 

 

참조
 - 파이썬 공식문서

 

 

 

반응형