티스토리 뷰

반응형

문자열 자료형

문자열이란 문자, 단어등으로 구성된 문자들의 집합을 의미한다.

"Life is too short, You need Python"
"abc"
"123"
"한글"

위 문자열의 예문을 보면 전부 큰따옴표(" ")로 둘러싸여 있다. 숫자 123은 숫자인데 왜 문자열이지? 의문이 드는 사람도 있을것이다. 그러나 큰따옴표안에 글자는 모두 문자료로 인식한다는 것을 잊지말자!  그럼 문자열을 어떻게 만들고 사용할까? 위에서 큰따옴표를 만드는 방법 이외에도 3가지가 더 있는데 총 4가지 방법을 정리해보자. 

위 문자열의 예문을 보면 전부 큰따옴표(" ")로 둘러싸여 있다. 숫자 123은 숫자인데 왜 문자열이지? 의문이 드는 사람도 있을것이다. 그러나 큰따옴표안에 글자는 모두 문자료로 인식한다는 것을 잊지말자!  그럼 문자열을 어떻게 만들고 사용할까? 위에서 큰따옴표를 만드는 방법 이외에도 3가지가 더 있는데 총 4가지 방법을 정리해보자. 


1)큰 따옴표("") 양쪽으로 둘러싸기

"hello world"

2)작은 따옴표로 ('')로 양쪽 둘러싸기

'phthon is fun'

3)큰따옴표 3개를 연속(""")으로 써서 양쪽 둘러싸기

"""python's favorite food is prel"""

4)작은따옴표 3개를 연속(''')으로 써서 양쪽 둘러싸기

'''life is too short, you need python'''

여기서 드는 의문하나? 단숨함을 자랑하는 파이썬에서 문자열을 만드는 방법을 4가지나 가지되었을까? 그이유는 문자열안에 작은따옴표나 큰따옴표를 포함시키고 싶을때가 있기때문에 이런경우 첫번째 방법으로만 처리가 되면 중간에 따옴표들을 표시할수 없기때문이다. 

영어에서 누구의것할때 python's 할때처럼 작은따옴표가 필요하고, 글내용중 사람이 말한 부분을 인용할때는 홍길동은 이렇게 말했다 "블러블러...." 이런식으로 큰따옴표를 넣어서 표현이 필요할때가 있다. 이처럼 큰따옴표,작은따옴표로 문자열을 나타내지만 큰따옴표,작은따옴표 자체를 문자열에 포함을 시켜야 할 경우가 있기때무에 4가지 방법이 존재하는 것이다. 


1) 문자열에 작은따옴표 (') 포함시키기

food = Python's favorite food is prel

 Python's favorite food is prel 문자영을 food라는 변수에 저장하고 싶다고 가정하자, 이때는 큰따옴표로 문자열을 둘러싸야한다. 왜냐하면 Python's favorite food is preld안에 작은따옴표를 사용하고 있기때문에 만약 문자열을 작은따옴표로 둘러싸게 되면 파이썬에는 구문오류 (syntaxError)가 발생한다. 

>>> food = 'Python's favorite food is prel'
File "<stdin>", line 1
food = 'Python's favorite food is prel'
^
SyntaxError: invalid syntax


그렇기때문에 문자열에 작은따옴표가 있을경우는 양쪽을 큰따옴표를 사용해 둘러싸준면 된다. 

>>> food = "Python's favorite food is prel"
>>> food
"Python's favorite food is prel"


2)문자열에 큰따옴표 (")포함시키기

>>> say = 'python is very easy." he says.'
>>> say
'python is very easy." he says.'

이렇게 작은따옴표 안에 사용된 큰따옴표는 문자열을 만드는 기호로 인식되지않는다. 


3)\(백슬래시)를 이용해서 작은따옴표('),큰따옴표(")를 문자열에 포함시키기

>>> food1 = 'python\'s favorite food is perl'
>>> food1
"python's favorite food is perl"
>>> say1 = "\"python is very easy.\" he says."
>>> say1
'"python is very easy." he says.'

작은따옴표나 큰따옴표 바로앞에 \(역슬래시)를 사용하면 역슬래쉬뒤에 작은따옴표나 큰따옴표는 문자열을 둘러쌓는 기호로 사용되는 것이아니라 문자자체로 인식하겠다는 의미이다. 


제 포스팅이 도움이 되셨다면

로그인이 필요없는 ↓♡공감↓ 꾸~욱 부탁드려요^^ 

더 나은 포스팅에 큰 힘이 됩니다.



반응형
댓글