문자열은 파이썬에서 아주 중요한 위치를 차지한다.
문자열을 생성하는것 부터 차근차근 살펴보자.
문자열 생성 : 단일인용부호('), 이중인용부호("), 단일인용부호 세개('''), 이중인용부호 세개(""") 로 앞뒤를 감싸준다.
>>> 'abc' 'abc' >>> "abc" 'abc' >>> '''abc''' 'abc' >>> """abc""" 'abc' |
네개 중 어떤것을 사용해서 만들어도 인터프리터는 같게 인식한다.
출력이 'abc'로 동일하다.
이제 'abc'는 'abc'라는 문자열로 생을 마감할 것이다.
한번 만들어진 문자열은 불변하기 때문이다.
단일인용부호나 이중인용부호 중 하나를 선택하면 될텐데, 왜 둘다 되게 했을까?
그건 문자열 중간에 단일인용부호가 들어가면 이중인용부호로 감싸주고, 반대의 경우엔 반대로 하기 위해서
>>> "I'm a boy" "I'm a boy" >>> 'I said, "Yes!"' 'I said, "Yes!"' |
중간에 들어간 인용부호를 잘 인식한다.
여러줄에 걸친 문자열을 입력하려면 단일인용부호 세개로 감싸주거나, 이중인용부호 세개로 감싸주면 된다.
너무 긴 문자열일 경우 이렇게 하는것이 입력하기도 좋고, 보기도 좋을것이다.
>>> a = ''' The Road Not Taken ... ... ... ... Two roads diverged in a yellow wood, ... ... And sorry I Could not travel both ... ... ... ... ... ''' >>> a ' The Road Not Taken\n... \n... Two roads diverged in a yellow wood, \n... And sorry I Could not travel both\n... ...\n... ' |
변수 a를 출력해보면 입력하지 않은 개행문자(\n)까지 입력돼 있는것을 확인할 수 있다.
나중에 문자열을 다룰때 고려해야 될 부분이다.
print() 함수를 이용하면 입력한대로 출력을 해볼 수 있다.
>>> print(a) The Road Not Taken ... ... Two roads diverged in a yellow wood, ... And sorry I Could not travel both ... ... ... |
str() 함수를 사용하여 다른 데이터 타입을 문자열로 변환하여 생성할 수도 있다.
>>> str(100) # 정수타입 문자열 변환 '100' >>> str(1.34e4) # 지수타입 문자열 변환 '13400.0' >>> str(False) # 불리언타입 문자열 변환 'False' |
이스케이프 시퀀스(백슬러시(\)가 붙은 특수문자)를 이용하면 여러가지 모양의 문자열을 생성 할 수 있다.
>>> a = 'red\tblue\tyellow' # 이스케이프 시퀀스 \t(탭) 적용 >>> a 'red\tblue\tyellow' >>> print(a) red blue yellow # print() 문을 이용하면 탭 출력을 볼 수 있다. >>> b = 'red\nblue\nyellow' # 이스케이프 시퀀스 \n(개행문자) 적용 >>> b 'red\nblue\nyellow' >>> print(b) # print() 문을 이용하면 탭 출력을 볼 수 있다. red blue yellow |
이외에도 \b(백스페이스), \\(백슬러시), \'(단일인용부호), \"(이중인용부호) 등을 문자열 생성 시 사용할 수 있다.
'IT' 카테고리의 다른 글
[파이썬 기초] 파이썬 문자열(3) - 문자열 나누기, 결합하기 (0) | 2018.11.23 |
---|---|
[파이썬 기초] 파이썬 문자열(2) - 문자열 연산자 및 추출 (0) | 2018.11.23 |
[파이썬 기초] 스택과 큐의 기능을 한번에 deque (1) | 2018.11.23 |
[파이썬 기초] 순서지정된 딕셔너리 OrderedDict() (0) | 2018.11.22 |
[파이썬 기초] Counter를 이용한 항목 계산 (0) | 2018.11.22 |