이 문서는 파이썬 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 문자열 함수정리
[파이썬] python 리스트 함수정리
[파이썬] python 튜플 함수정리
-------------------------------------------------------------------------------
'Language > python' 카테고리의 다른 글
[파이썬] python 튜플 함수정리 (0) | 2014.05.23 |
---|---|
[파이썬] python 리스트 (0) | 2014.05.23 |
콘솔에 print 시, 커서위치 맨 앞으로 위치시키기 "\r" (0) | 2014.05.20 |
sqllite3 _ in python (0) | 2012.08.01 |
[python] 엑셀작업 (1) | 2012.05.10 |