코인시던스의 기록

[#5 파이썬 기초] 문자열 타입(string),인덱스(Index), 이스케이프 문자 본문

파이썬

[#5 파이썬 기초] 문자열 타입(string),인덱스(Index), 이스케이프 문자

코인시던스 2020. 9. 27. 20:01

안녕하세요. 오늘은 파이썬 데이터 타입 중 문자열 타입(String Type) 과 아주 중요한 개념 중 하나인 인덱스(Index) 에 대해 알아보겠습니다.

 

   1. 문자열 타입 (String Type)

- 여러 개의 문자를 순서대로 나열한 것으로 '(작은따옴표) 혹은 "(큰따옴표) 사이에 문자를 넣어서 생성합니다.

- Python 에서 문자열을 생성하는 방법은 아래와 같이 크게 4가지가 있습니다.

python 에서 문자열을 생성하는 방법은 그림과 같이 크게 4가지가 있습니다. 출력은 모두 동일하게 나옵니다.

- 문자열 안에 ' 나 " 가 있는 경우 반대의 기호로 문자열을 생성하면 됩니다. 문자열 내에 ' 를 쓰고 싶은데 ' 로 문자열을 표현하면 뒷부분이 문자열로 인식이 안되기 때문이죠. " 도 마찬가지 입니다.

문자열 내에 ' 를 쓰고 싶은데 ' 로 문자열을 표현하면 뒷부분이 문자열로 인식이 안됩니다.

 

문자열 자체에 ' or "  가 있는 경우에는 각각 그 반대의 기호로 문자열을 생성하면 됩니다.

- 문자열을 여러줄에 걸쳐 적고 싶을 때 즉, 엔터가 들어간 문자열이 쓰고 싶을 때 ''' 또는 """ 세 개짜리를 사용하면 됩니다.

''' ''' / """ """ 는 여러줄에 걸쳐 문자열이 표현 가능합니다. 엔터가 들어간 문자열을 쓰고 싶다면 세 개짜리를 쓰면 됩니다.

'', "" 은 한줄 문자열을 표현할 때, ''', """ 는 여러줄에 걸친 문자열을 표현할 때 사용하는 것으로 정리할 수 있겠습니다.

 

   2. 문자열 출력 포맷

이스케이프 문자를 사용해서 문자열의 출력 포맷을 지정할 수 있습니다. 대표적으로 \n, \t 가 있는데, 문자열 내에서 Enter 혹은 Tab 의 효과를 줄 수 있습니다. 아래의 예시를 참조하면 이해가 훨씬 빠르게 되실 거에요.  \n : new line(enter), \t : tab

문자열 내 \n 또는 \t 를 사용하여 Enter 혹은 Tab 의 효과를 줍니다. 이스케이프 문자 : 문자열 내의 일부 문자 의미를 달리하여 특정한 효과를 주는 것.

   3. 문자열 인덱스 (Indexing)

   (1) 인덱스 (Index)

 인덱스는 아주 중요한 개념입니다. 문자열의 각 문자에는 순서가 있는데, 이때의 순서를 인덱스(Index) 라고 합니다. 첫번째 문자를 0 으로 시작해서 마지막 문자까지 차례대로(0, 1, 2, 3 ...) 순서를 가집니다. 첫번째 문자는 1 이 아닌 0 으로 시작하는 것에 유의해주세요. 참고로 대부분의 프로그래밍 언어의 Index 출발값은 0 입니다.

 

H 가 첫번째 문자열이므로,  H 의 Index 값은 0 입니다. e 의 Index 값은 1, 마찬가지로 l 은 2,3, o 는 4 입니다. 5 번째 Index 는 Space(띄워쓰기)이죠.

아래와 같이 대괄호 안에 문자열 순서를 넣어 인덱스(Index) 를 지정해주면 해당 문자열이 나옵니다.

   (2) 음수 인덱스

다른 언어와 달리 Phython 의 경우 음수 인덱스를 지원하는데요. -1 은 가장 마지막 Index 를, -2 는 마지막에서 두번째 Index 를 나타냅니다.

[퀴즈] Q : 'Hello World' 문자열의 마지막 순서 값은 무엇일까요? (= d 의 index 는?)

A : 띄어쓰기 포함 문자열이 11개, 길이가 11 이므로 d 의 index 는 10 입니다. 0 부터 시작하기 때문에 하나를 뻬줘야 합니다.

- 이런식으로 다른 언어에서 마지막 문자를 알고 싶으면 문자열의 길이를 구한 다음 길이 -1 을 해주는 과정을 거쳐야하는데요. 파이썬에서는 음수 인덱스를 지원하기 때문에 그냥 -1 로 해주면 됩니다.

Python 에서는 음수 인덱스를 지원합니다.

   (3) 인덱스의 범위

굉장히 중요한 기능입니다. 나중에 코딩할 때 인덱스 범위를 잘못 쓰면 프로그램에 오류가 발생하기 때문에 유효한 인덱스만 사용하도록 유의하셔야 해요. 음수도 마찬가지이구요. 인덱스는 [0, 문자열의 길이), 음수 인덱스는 [-문자열의 길이, -1] 만 유효합니다.

a 문자열의 길이는 10 으로 Index 의 범위가 넘어갈 경우 Error 가 발생합니다. 음수도 마찬가지입니다.

Comments