> For the complete documentation index, see [llms.txt](https://study-code.gitbook.io/python-basic/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://study-code.gitbook.io/python-basic/undefined/string.md).

# 문자열(String) 출력

## 문자열의 기본

```python
print('Hello Python!')
print("안녕하세요. 파이썬")
print("제 생일은 4월 23일 입니다.")
print("2018 9 1")
country = 'Korea'
city = "Seoul"
print(country)
print(city)
```

위에서 부터 하나씩 살펴보겠습니다.  우선 위의 내용을 출력하면 아래와 같은 내용으로 출력됩니다.

```
Hello Python! 
안녕하세요. 파이썬 
제 생일은 4월 23일 입니다.
2018 9 1 
Korea 
Seoul
```

1, 2, 3행은 단순한 문자열 출력 방법입니다. Python의 경우는 유니코드를 지원하므로 변수 지정할 때와는 달리 한글 사용이 가능합니다. 살펴보면 문자열 출력을 큰 따옴표(")또는 작은 따옴표(') 를 문자열의 앞 뒤에 배치한 것을 볼 수 있습니다. 이것은 유명한 일부 언어들(C, C++, JAVA 등)이 큰 따옴표만을 문자열 출력 부분으로  사용되는 것과는 달리 유연함을 갖추고 있다고 할 수 있습니다. 그러나, 시작과 끝이 동일한 기호로 표기되어야 합니다. 작은 따옴표로 시작되었다면 작은 따옴표로 끝내고, 큰 따옴표로 시작되었다면 큰 따옴표로 끝내야 합니다. 그렇지 않고 두 기호를 혼용해서 사용하면 에러가 출력되는 것을 확인할 수 있습니다.

4열은 숫자로만 표시된 내용입니다. 하지만, 큰 따옴표 사이에 표시되어 있으므로 문자열로 인식됩니다.&#x20;

변수를 소개할 때 컴퓨터의 변수는 수학과는 달리 숫자 외의 데이터도 저장할 수 있습니다. 5행과 6행은 country와 city라는 변수에 각각 Korea, Seoul을 일력하였습니다.&#x20;

## 예제1

자신이 태어난 고향과 현재 살고 있는 곳을 각각의 변수로 만들고 출력해 보세요.

Python에 대한 짧막한 감상을 변수를 사용하여 기록하고 출력해 보세요.

## 조금 더 나아간 문자열 표시 방법

위의 내용은 문자열 중에서 가장 기본적인 내용입니다. 그런데 문자를 입력할 때 보면 그내용에 따옴표를 추가해야 할 경우가 있습니다. 그 때에는 아래의 내용을 참고해 볼 수 있습니다.

```python
text1 = '작은 따옴표 안에서는 큰 따옴표(")는 문제가 되지 않습니다'
text2 = "큰 따옴표 안에서는 작은 따옴표(')는 문제가 되지 않습니다"
text3 = "또 다른 방법으로는 \"이렇게\" 출력이 됩니다."

print(text1)
print(text2)
print(text3)
```

위의 내용을 보면 기본적인 사용법을 알 수 있습니다. 변수인 tex1, text2, text3 모두 큰 따옴표 또는 작은 따옴표를 출력합니다. 하지만 text3의 따옴표 출력 방법을 기억하는 것이 좋습니다.  이처럼 \를 추가해서 사용하는 것은 이스케이프 문자(Escape Character)라고 합니다. 이것을 기억하면 좋은 이유는 이 사용법이 단지 Python만이 아니라 C, C++, C#, JAVA 등 다양한 개발 언어에서 사용되기 때문입니다.

| Escape character | 기능                                    |
| ---------------- | ------------------------------------- |
| \n               | 줄 바꿈                                  |
| \t               | tab                                   |
| \\'              | ' (작은 따옴표)                            |
| \\"              | " (큰 따옴표)                             |
| \\\\             | \\                                    |
| \r               | Carrage return. 줄바꿈 문자, 커서를 가장 앞으로 이동 |
| \f               | Form feed. 줄바꿈 문자,  커서를 다음 줄로 이동      |
| \a               | 알람(스피커를 통해 알람 음 출력)                   |
| \b               | Back space                            |
| \000             | 널(Null) 문                             |

그럼 이번에는 좀 독특한 문자열 표시를 살펴보겠습니다. 이것은 Python만의 독특한 사용방법이기도 합니다. 큰 따옴표나 작은 따옴표를 연속적으로 3번 입력하면 여러 줄 표시에서 좀 더 편하게 사용할 수 있습니다.

```python
TextString1 = """This is multi line text string!
It doesn't matter using ' or " in this example.
Life is Short. You need "Python" """
TextString2 = '''여러줄 문자열입니다.
이 예제에서 '이나 " 의 사용은 문제없습니다.
인생은 짧습니다. '파이썬'이 필요합니다'''

print(TextString1)
print(TextString2)
```

TextString1이나 TextString2 모두 여러줄로 문자열을 표시하고 있습니다. 해당 내용을 Python으로 동작시켜 보면 모두 여러 행으로 표시되는 것을 알 수 있습니다. 위의 이스케이프 문자 중 줄 바꿈(\n)을 사용하지 않았음에도 말입니다. 또한 '와 "를 바로 입력했음에도 문제가 없습니다.

'''(작은 따옴표 3번) 또는 """(큰 따옴표 3번)을 앞 뒤로  쓰면 그 블럭 내에서 여러행의 문자를 표시할 수 있도록 해줍니다. 다만, 주의할 점은 3행에 끝처럼 "Python" """으로 표시한 것입니다. 같은 형태의 따옴표 뒤에 바로 3번의 따옴표를 붙일 경우에는 에러가 발생합니다.
