Programming Language/Python

Python] 문자열 정의

TwinParadox 2017. 2. 6. 00:30
728x90

###Python 문자열 정의


- 문자열 내에 '를 사용할 경우,

""를 이용해 문자열을 정의하면 이용 가능

\'을 이용하면 ''를 이용해 문자열을 정의 가능

str = 'Don\t move "RUN"'


- \는 다음 라인이 현재 라인의 뒤에 이어짐을 나타냄

long_str = "This is a rather long string \

containing back slash and new line."


- 여러 줄의 문자열 정의

multiline = """ While the rest of the world has been catching on to

the Perl scripting language, the Linux community,

long since past ...

has been catching on to a """


ml = ''' While the rest of the world has been catching on to

the Perl scripting language, the Linux community,

long since past ...

has been catching on to a '''



'''로 문자열 정의를 시작할 경우 '를 단독으로 사용할 수 있음.




Escape Characters



\\ : \

\' : '

\" : *

\n : 개행

\t : 탭

\b : 백 스페이스




문자열 기초 연산


str1 = 'Frist String'

str2 = 'Second String'

str3 = str1 + ' ' + str2


print str3

First String Second String


print str1 * 3

First StringFirst StringFirst String


print str1[2]

r


print str1[1:-1]

irst Strin


print len(str1)

12


print str1(0:len(str1)]

print str1[:]

First String




문자열 특성


- 문자열 자료는 변경 불가능한 자료임

- 문자열 변경을 위해서는 Slicing을 여러 차례 연결 활용하는 방법이 있음

그러나, 이 방법의 경우 문자열 자체가 변경되는 것이 아니라, 새로 문자열을 생성 및 할당하는 과정임




유니코드


- 다국어 문자의 올바른 표현을 위해 유니코드 타입 지원


a = 'a' << ASCII

b = u'bc' << Unicode

c = a+b << 이런 경우 유니코드로 변환됨


- 유니코드 내장함수

a = unicode('한글', 'utf-8')는 a = u'한글'과 동일


- 유니코드는 한글 문자열의 길이를 올바르게 반환함

print len(u'한글과 세종대왕')


- 유니코드 타입의 문자열은 인덱싱 및 슬라이싱이 올바르게 수행됨



728x90