이 문서는 파이썬 2점대를 기준으로 작성되었습니다.
4장 문자열
[문자열 대치 기능]
>>>import
string
t =
string.Template('$page: $title')
t.substitute({'page':2,
'title' : 'The Best of Times'})
t.safe_substitute({'page':2})
#누락된 key에 대해 Error
없음.
[문자열 메소드 - 1)대. 소문자의 변환]
s.upper()
#대문자로 변환
s.upper().lower()
#소문자로 변환
s.swapcase()
# 대문자 ->
소문자, 소문자 ->
대문자
s.capitalize()
# 첫문자를 대문자로
s.title()
#단어의 첫문자를을 대문자로
[문자열 메소드 - 2)검색]
s.count('like')
#문자열 s에서 'like'라는 부 문자열이 발생한 횟수 리턴
s.find('like')
#문자열 s에서 'like'의 옵셋 리턴.(검색), 찾는 문자열 없을 경우 -1리턴
s.find('like',
3) #문자열 3번 위치부터 검색
s.rfind('like')
#find와 같지만 문자열 s의 뒤족부터 탐색
s.index('like')
#문자열 s에서 'like'의 옵셋 리턴.(검색), 찾는 문자열 없을 경우 예외발생
s.rindex('like')
#index와 같지만 문자열 s의 뒤족부터 탐색
s.startswitch('i
like') #i like로 시작하는 문자열인가? 리턴 :
True, false값
s.endwith('swimming')
#swimming으로 끝나는 문자열인가? 리턴 :
True, false값
s.startswitch('i
like', 7) #7번째 문자열이 i
like로 시작하는 문자열인가? 리턴 :
True, false값
s.endwith('swimming',
0, 26) #0부터 26번째 위치 사이의 문자열이 swimming으로 끝나는가?리턴 :
True, false값
[문자열 메소드 - 3)편집, 치환]
s.strip()
#좌우 공백을 없앰
s.rstrip()
#오른쪽 공백을 없앰
s.lstrip()
#왼쪽 공백을 없앰
s.strip('<>')
#'<>' 없앰
s.replace('spam',
'spam and egg') #'spam'을 'spam
and egg'로 바꿈
[문자열 메소드 - 4)분리, 결합]
s.split()
#공백으로 분리
s.split('and')
#'and' 기준으로 분리
':'.join(s)
#':'문자로 결합.
print
'\n'.join(t) #줄 바꾸기로 결합
lines.splitlines()
#라인 단위로 분리
s.split(':',
2) #두번만 분리
s.rsplit(':',
1) #오른쪽부터, 한번만 분리
[문자열 메소드 - 5)정렬]
s.center(60)
#전체 60 문자의 가운데에 맞춘다.
s.ljust(60)
#왼쪽에 맞춘다.
s.rjust(60)
#오른쪽에 맞춘다.
#center,
ljust, rjust 메소드는 채워질 문자를 선택할 수 있다.
s.center(60,'-')
#공백 대신 '-'문자를 채운다.
s.ljust(60,'-')
s.rjust(60,'-')
'1\tand\t2'.expandtabs()
#탭 문자 ->
8자 공백으로
'1\tand\t2'.expandtabs(4)
#탭 문자 ->
4자 공백으로
[문자열 메소드 - 6)구성 문자열 판별]
s.isdigit()
# 숫자여부 파악 , 리턴 :
True, False
s.isalpha()
# 영문자여부 파악 , 리턴 :
True, False
s.isalnum()
# 숫자 혹은 영문자 여부 파악 , 리턴 :
True, False
s.islower()
# 소문자여부 파악 , 리턴 :
True, False
s.isupper()
# 대문자여부 파악 , 리턴 :
True, False
s.isspace()
# 공백 문자 여부 파악, 리턴 :
True, False
s.istitle()
# 제문 문자열 여부 파악, 리턴 :
True, False
[문자열 메소드 - 7)채우기 및 자리 맞추기 문자열]
s.zfill(5)
# 0으로 채워진다.
#
ex)
>>>s
= '123'
>>>s.zfill(5)
'00123'
>>>'goofy'.zfill(6)
'0goofy'
[string
모듈]
# 상수 정의. 임의의 문자가 어떤 구룹에 속해있는지 판별할때 유용
string.digits
#'0123456789'
string.octdigits
#'01234567'
string.hexdigits
#'0123456789abcdefABCDEF'
string.letters
#'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
string.lowercase
#'abcdefghijklmnopqrstuvwxyz'
string.uppercase
#'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
string.puctuation
#'!"#$%\ .....'
string.printable
#인쇄가능한 문자들 모두
string.whitespace
#공백 문자 모두(8진수 표현)
#ex)
>>>
x = 'a'
>>>
x in string.uppercase
False
[유니코드]
u'String'
#유니코드 표현 문자열
unicode('한글') #유니코드 문자열로 변환
[포맷 문자열]
포맷 문자열
|
설명
|
%s
|
문자열 혹은 임의의 객체를 문자열로 변환한다. (str() 함수를 이용한다.)
|
%r
|
문자열 혹은 임의의 객체를 문자열로 변환한다. (repr() 함수를 이용한다.)
|
%c
|
길이 1의 문자 ‘%c’, % ‘A’
|
%d
|
10진 정수
|
%i
|
정수(%d와의 차이가 없다)
|
%u
|
부호 없는 정수 ‘%u’ %-12의 결과는 ‘4294967284’양수는 그대로,
음수는 양수적 해석을 적용한다.
|
%o
|
8진수 ‘%o’ % 12 의 결과는 ‘14’
|
%x
|
16진수 ‘%x’ %12의 결과는 ‘c’
|
%X
|
16진수 대문자 ‘%X’ %12의 결과는 ‘C’
|
%e
|
부동 소수점(실수)을 지수 형태로 표현. 유효 숫자는 7자리로 표현한다.
‘%e’ %123.45678 결과는 ‘1.234568e+002’
|
%E
|
%e와 동일하다. 단, 지수 표현을 대문자 E로 한다.
|
%f
|
부동 소수점(실수)을 표현 ‘%f’ %
123.45678 결과는 ‘123.456780’
|
%g
|
부동 소수점을 편의에 따라서 소수점 형식 혹은 지수 형식으로 변환한다.
6자리의 유효 숫자로 표현한다.
|
%G
|
%g와 같다. 단, 지수 표현을 대문자 E로 한다.
|
※출처 : 프리렉 파이썬_이강성 저
[ 참고 ] 파이썬 정리 포스팅들
--------------------------------------------------
[파이썬] python 정규식 정리
-------------------------------------------------------------------------------