문자열의 정의와 특성 ¶
- 파이선의 여러 자료형중 시퀀스(sequence) 자료형에 속함.
- 시퀀스(Sequence) 자료형의 특징
- 다수의 객체 저장
- 객체들간의 순서가 존재.
- 각 객체들을 참조 가능(첨자 이용)
- 다수의 객체 저장
- 굳이 C로 비유하자면 배열과 비슷하다. (비슷하다는 얘기는 다르다는 얘기)
~cpp
>>> s = 'abcdef' # 문자열
>>> L = [100,200,300] # 리스트
>>> t = ('tuple', 'object', 1, 2) # 튜플
시퀀스(Sequence) 자료형 연산(명령) ¶
- 인덱싱(Indexing) = k
- 슬라이싱(Slicing) = [[ s : t ]
- 연결하기(Concatenation) = +
- 반복(Repeat) = *
- 멤버십 데스트(Membership Test) = in
- 길이정보 = len
-- 실습 대상 --
~cpp >>> s = 'abcdef' >>> l = [100, 200, 300]
문자열 정의 ¶
- 문자열 정의는 '(작은 따옴표) 혹은 " (큰 따옴표) 로 정의할수 있다.
- 작은 따옴표와 큰 따옴표 사이에 차이는 없는것 같음
.png)
- 작은 따옴표 혹은 큰 따옴표를 세개 연속 사용해서 정의하는 경우 쓰는 그대로 정의됨.
~cpp >>> s = 'Handsome guy Chang-Jae' >>> L = "Hwang = Babo" >>> p = ''' 내가 지금 이짓을 왜 하고 있는가??? 황재선은 못생겼다. 나휘동은 레오나르동이다. 장창재는 최고의 파일럿이다. 오늘 비행하는데 손이 시려웠다. 이게 다 뭔소리하는걸까, 나도 모르겠다.'''
- 쓰이는 기호중 중요한것 몇가지
| 기호 | 용도 |
| \n 또는 \012 | 줄바꾸기 |
| \t | 탭 |
| \Enter | 행의 계속(이어짐) |
| \ | \문자 자체 |
- 문자열 연산은 앞의 시퀀스(Sequence)자료형 연산을 따른다.
- 문자열은 그 자체 값을 변경할 수 없는, 변경 불가능(immutable) 자료형이다.
문자열 메쏘드(1.6버전 이상) ¶
- 자주 쓰일거라고 예상 되는것 중심으로 편집.
대소문자 변환 ¶
~cpp >>> s = 'i like programing' >>> s.'''upper'''() # 대문자로 변환 'I LIKE PROGRAMING' >>> s.'''upper'''().'''lower'''() # 대문자를 소문자로 변환 'i like programing' >>> s.'''capitalize'''() 'I like programing' # 첫 문자를 대문자로
검색 과련 ¶
~cpp
>>> s = 'i like programing, i like swimming'
>>> s.count('like')
2
>>> s.find('like')
2
>>> s.find('my')
-1
>>> s.rfind('like')
22
>>> s.index('like')
2
>>> s.index('my')
Traceback (most recent call last):
File "<pyshell#40>", line 1, in ?
s.index('my')
valueError : substring not found in string.index
분리와 결합 관련 ¶
~cpp
>>> u = ' spam and ham '
>>> u .'''split'''() # 공백을 기준으로 분리
['spam','and','ham'] <--- 단어의 리스트가 얻어짐.
>>> u.'''split'''('and') # 'and' 를 기준으로 분리. 'and'는 리스트에 없음.
['spam', 'ham']
>>> t = u.'''split'''()
>>> ':'.'''join(t)''' # ':' 문자로 결합. 틀리기 쉬우니 주의할것!!
'spam:and:ham'
>>> print '\n'.join(t) # 줄바꾸기로 결합.
spam
and
ham
- 그외 나머지 메소드는 책 혹은 인터넷 참조










