ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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 syntax

     

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

    "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 python

     

    1. 줄을 바꾸는 이스케이프 코드'\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, \\, \' \"이다. 나머지는 프로그램에서 잘 사용하지 않는다.

     

     

     

     

    출처 : "점프 투 파이썬"

Designed by Tistory.