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