-
chapter 02-2 문자열 자료형_1. (문자열은 어떻게 만들고 사용할까?)Do it! 점프 투 파이썬 2022. 6. 2. 18:56
문자열(String)이란 문자, 단어 등으로 구성된 문자들의 집합을 의미한다. 예를 들어 다음과 같은 것들이 문자열이다.
"Life is too short, You need Python"
"a"
"123"위 문자열 예문을 보면 모두 큰따옴표(" ")로 둘러싸여 있다. '123은 숫자인데 왜 문자열이지?라는 의문이 드는 독자도 있을 것이다. 따옴표로 둘러싸여 있으면 모두 문자열이라고 보면 된다.
문자열은 어떻게 만들고 사용할까?
위 예에서는 문자열을 만들 때 큰따옴표(" ")만을 사용했지만 이 외에도 문자열을 만드는 방법은 3가지가 더 있다. 파이썬에서 문자열을 만드는 방법은 총 4가지이다.
1. 큰따옴표(")로 양쪽 둘러싸기
"Hello World" 2. 작은따옴표(')로 양쪽 둘러싸기
'Python is fun' 3. 큰따옴표 3개를 연속(" " ")으로 써서 양쪽 둘러싸기
" " "Life is too short, You need python" " " 4.작은따옴표 3개를 연속(' ' ')으로 써서 양쪽 둘러싸기
' ' 'Life is too short, You need python' ' ' 단순함이 자랑인 파이썬이 문자열을 만드는 방법은 왜 4가지나 가지게 되었을까? 그 이유에 대해 알아보자.
문자열 안에 작은따옴표나 큰따옴표를 포함시키고 싶을 때
문자열을 만들어 주는 주인공은 작은따옴표(')와 큰따옴표(")이다. 그런데 문자열 안에도 작은따옴표와 큰따옴표가 들어 있어야 할 경우가 있다. 이때는 좀 더 특별한 기술이 필요하다. 예제를 하나씩 살펴보면서 원리를 익혀 보자.
1. 문자열에 작은따옴표 (') 포함시키기
Python's favorite food is perl 위와 같은 문자열을 food 변수에 저장하고 싶다고 가정하자. 문자열 중 Python's에 작은따옴표(')가 포함되어 있다.
이럴 때는 다음과 같이 문자열을 큰따옴표(")로 둘러싸야 한다. 큰따옴표 안에 들어 있는 작은따옴표는 문자열을 나타내기 위한 기호로 인식되지 않는다.
>>> food = "Python's favorite food is perl" 프롬프트에 food를 입력해서 결과를 확인하자. 변수에 저장된 문자열이 그대로 출력되는 것을 볼 수 있다.
>>> food
"Python's favorite food is perl"시험 삼아 다음과 같이 큰따옴표(")가 아닌 작은따옴표(')로 문자열을 둘러싼 후 다시 실행해 보자.
'.Python'이 문자열로 인식되어 구문 오류(SyntxError)가 발생할 것이다.
>>> food = 'Python's favorite food is perl'
File "<stdin>", line 1
food = 'Python's favorite food is perl'
^
SyntaxError: invalid syntax2. 문자열에 큰따옴표(") 포함시키기
"Python is very easy." he says. 위와 같이 큰따옴표(")가 포함된 문자열이라면 어떻게 해야 큰따옴표가 제대로 표현될까?
다음과 같이 문자열을 작은따옴표(')로 둘러싸면 된다.
>>> say = '"Python is very easy." he says.' 이렇게 작은따옴표(')안에 사용된 큰따옴표(")는 문자열을 만드는 기호로 인식되지 않는다.
3. 백슬래시(\)를 사용해서 작은따옴표(')와 큰따옴표(")를 문자열에 포함시키기
>>> food = 'Python\'s favorite food is perl'
>>> say = "\"Python is very easy.\" he says."작은따옴표(')나 큰따옴표(")를 문자열에 포함시키는 또 다른 방법은 백슬래시(\)를 사용하는 것이다. 즉 백슬래시(\)를 작은따옴표(')나 큰따옴표(") 앞에 삽입하면 백슬래시(\) 뒤의 작은따옴표(')나 큰따옴표(")는 문자열을 둘러싸는 기호의 의미가 아니라 문자 ('), (") 그 자체를 뜻하게 된다.
어떤 방법을 사용해서 문자열 안에 작은따옴표(')와 큰따옴표(")를 포함시킬지는 각자의 선택이다. 대화형 인터프리터를 실행한 후 위 예문을 꼭 직접 작성해 보자.
여러 줄인 문자열을 변수에 대입하고 싶을 때
문자열이 항상 한 줄짜리만 있는 것은 아니다. 다음과 같이 여러 줄의 문자열을 변수에 대입하려면 어떻게 처리해야 할까?
Life is too short
You need python1. 줄을 바꾸는 이스케이프 코드'\n' 삽입하기
>>> multiline = "Life is too short\nYou need python" 위 예처럼 줄바꿈 문자'\n'을 삽입하는 방법이 있지만 읽기에 불편하고 줄이 길어지는 단점이 있다.
2. 연속된 작은따옴표 3개(' ' ') 또는 큰따옴표 3개(" " ") 사용하기
위 1번의 단점을 극복하기 위해 파이썬에서는 다음과 같이 작은따옴표 3개(''') 또는 큰따옴표 3개(""")를 사용한다.
>>> multiline = ' ' '
. . . Life is too short
. . . You need python
. . . ' ' '작은따옴표 3개를 사용한 경우
>>> multiline = " " "
. . . Life is too short
. . . You need python
. . . " " "큰따옴표 3개를 사용한 경우
print(multiline)을 입력해서 어떻게 출력되는지 확인해 보자.
>>> print(multiline)
Life is too short
You need python두 경우 모두 결과는 동일하다. 위 예에서도 확인할 수 있듯이 문자열이 여러 줄인 경우 이스케이프 코드를 쓰는 것보다 따옴표를 연속해서 쓰는 것이 훨씬 깔끔하다.
* 이스케이프 코드란?
문자열 예제에서 여러 줄의 문장을 처리할 때 백슬래시 문자와 소문자 n을 조합한 '\n' 이스케이프 코드를 사용했다. 이스케이프 코드란 ㄴ프로그래밍할 때 사용할 수 있도록 미리 정의해 둔 '문자 조합'이다. 주로 출력물을 보기 좋게 정렬하는 용도로 사용한다. 몇 가지 이스케이프 코드를 정리하면 다음과 같다.
코드 설명 \n 문자열 안에서 줄을 바꿀 때 사용 \t 문자열 사이에 탭 간격을 줄 때 사용 \\ 문자 \를 그대로 표현할 때 사용 \' 작은따옴표(')를 그대로 표현할 때 사용 \" 큰따옴표(")를 그대로 표현할 때 사용 \r 캐리지 리턴(줄 바꿈 문자, 현재 커서를 가장 앞으로 이동) \f 폼 피드(줄 바꿈 문자, 현재 커서를 다음 줄로 이동) \a 벨 소리(출력할 때 PC 스피커에서 '삑' 소리가 난다) \b 백스페이스 \000 널 문자 이 중에서 활용 빈도가 높은 것은 \n, \t, \\, \' \"이다. 나머지는 프로그램에서 잘 사용하지 않는다.
출처 : "점프 투 파이썬"
'Do it! 점프 투 파이썬' 카테고리의 다른 글
Chapter 02-2 문자열 자료형_5. (문자열 관련 함수) (0) 2022.06.03 Chapter 02-2 문자열 자료형_4. (문자열 포매팅) (0) 2022.06.02 Chapter 02-2 문자열 자료형_3. (문자열 인덱싱과 슬라이싱) (0) 2022.06.02 Chapter 02-2 문자열 자료형_2. (문자열 연산하기) (0) 2022.06.02 Chapter 02-1 숫자형 (0) 2022.06.02