상세 컨텐츠

본문 제목

2. 파이썬 자료형 - 문자열(1) : 문자열 만들기, 연산, 인덱싱

Python/Basic Grammar

by groomi 2022. 3. 15. 22:50

본문

2. 문자열(String) : 'str'로 표현

: 연속된 문자(character)들의 집합. 

여기에서 문자는 알파벳뿐만 아니라 숫자, 특수기호 등을 포함한 미리 정의되어 있는 집합 내 기호이다. 

그럼 숫자도, 특수기호도 그냥 다 문자열일까?

그건 아니다.

컴퓨터가 문자열로 인식하도록 만들기 위해서는 따옴표로 둘러싸줘야 한다. 

즉, 다음과 같이 만든 것들이 문자열이다! 

 

 2-1. 문자열 만드는 방법 

- 큰 따옴표(")로 둘러싸기

큰 따옴표를 이용

happy day라는 문자열을 만들기 위해 "로 양쪽을 둘러쌌다. 그리고 그 문자열을 a라는 변수에 저장했다.

데이터 타입을 알려주는 함수 type을 사용해본 결과 a의 자료형은 'str', 즉 문자열임을 확인했다. 

따옴표의 생략

따옴표를 사용하지 않고 문자만 입력했을 때는 이렇게 에러가 발생한다. 

 

- 작은 따옴표(')로 둘러싸기

작은 따옴표를 이용

숫자 123을 작은 따옴표(')로 둘러싸서 문자열을 만들고 변수 a에 저장했다. 역시, 데이터 타입은 'str'이다.

따옴표의 생략(정수)

하지만 위와 같이 따옴표를 생략하고 정수만을 입력하면, 데이터 타입은 'int', 즉 정수형으로 나온다. 

 

- 큰 따옴표를 연속으로 세 개(""") 사용하여 둘러싸기

""" 사용

- 작은 따옴표를 연속으로 세 개(''') 사용하여 둘러싸기

''' 사용

스페이스도 문자열로 만들 수 있다.

 

 2-2. 문자열 안에 문장부호를 사용하는 방법

문자열을 만들기 위해서 큰따옴표(")나 작은 따옴표(')를 사용한다. 하지만, 문장부호로서 또는 문자 그 자체로 "와 '을 사용하고 싶을 때는 어떻게 해야 할까? 

 

- 사용하고자 하는 문장부호 이외의 기호를 이용하여 문자열을 만든다.

예를 들어, 다음과 같이 작은 따옴표가 포함된 문장을 문자열로 만들고 싶다고 하자.

I'm fine. Thank you.

그럼 큰 따옴표(")나 큰 따옴표 세 개 ("""), 또는 작은 따옴표 세 개(''')를 이용하여 문자열을 만들면 작은 따옴표를 포함하여 만들 수 있다.

작은 따옴표를 문자열에 포함시키기

이번에는 다음과 같이 큰 따옴표가 포함된 문장을 문자열로 만들고 싶다고 하자.

I love "Python"

작은 따옴표(')나 작은 따옴표 세 개(''')를 이용하여 문자열을 만들면 큰 따옴표를 포함하여 만들 수 있다.

여기에서 큰 따옴표 세 개를 사용하지 못한 이유는 포함시키고자하는 큰 따옴표가 문장의 마지막에 위치해있어서 문자열을 만드는 큰 따옴표와 구분할 수 없기 때문이다.

큰 따옴표를 문자열에 포함시키기

 

 - 문장부호 앞에 백슬래시(\) 를 삽입한다.

문장부호 앞에 백슬래시를 삽입하면, 그 문장부호는 문자열을 만들어주는 기호를 의미하는 것이 아니라 문자 그 자체를 나타내게 된다. 

백슬래시는 키보드의 엔터키 위쪽에 위치해있다.

\ (원화 기호)를 누르면 된다. 

즉, 작은 따옴표 문자 자체를 나타내고 싶을 때는 \'를, 큰 따옴표 문자 자체를 나타내고 싶을 떄는 \"를 사용해주면 된다.

백슬래시 삽입

 

 2-3. 여러 줄을 하나의 문자열로 만드는 방법

 

- 줄을 바꾸는 이스케이프 코드 '\n'을 삽입한다.

이스케이프 코드는 프로그래밍할 때 사용할 수 있도록 미리 정의된 문자 조합이다. \n은 문자열 안에서 줄을 바꿔주는 역할을 한다.  

이스케이프 코드 \n 삽입

그냥 출력했을 때는 줄이 구분되어 보이지 않지만, 화면에 결과물을 출력해주는 print 함수를 사용하면 줄이 바뀌어 출력되는 것을 볼 수 있다. print 함수를 이용하면 문자열을 만들기 위해 사용했던 "와 같은 기호는 함께 출력되지 않는다. 문자열 생성을 위해 사용된 기호이지, 우리가 화면 출력을 통해 궁극적으로 보고자 하는 것이 아니기 때문이다. 

 

- 작은 따옴표 3개(''') 또는 큰 따옴표 3개(""")를 사용한다.

''' 이용하여 여러 줄 문자열 만들기

시작을 ''' 또는 """로 해준다면 끝을 맺기 전까지 원하는 만큼 줄을 띌 수 있다. 

 

 2-4. 문자열 연산

- 문자열 더하기

+ 기호를 이용하여 두 문자열을 연결할 수 있다.

문자열 더하기

문자열을 연결할 때 스페이스로 구분하여 합쳐주는 것이 아니므로 띄어쓰기가 필요하다면 문자열 앞 또는 뒤에 적절히 스페이스를 삽입해주어야 한다.

 

- 문자열 곱하기

* 기호를 이용하여 해당 문자열을 반복할 수 있다.

문자열 곱하기

문자열이 저장된 변수 a를 5번 반복한 것이다.

 

- 문자열 길이 구하기

len 함수는 문자열의 길이를 알려준다. 문자가 몇 개 있는지 알려주는 것이다.

len 함수 사용

스페이스까지 포함되어 길이를 계산한다는 점을 주의하자.

 

 2-5. 문자열 인덱싱(Indexing)

- 인덱스(index)란? 

: 색인이라고도 하는데 책의 목차를 생각하면 쉽다. 특정 정보가 어디에 있는지 표시해두는 주소 같은 것이다. 우리가 책을 보다가 중요한 페이지에 인덱스 스티커를 붙여두는 것과 비슷하다.

문자열에서 인덱스는 해당 문자열의 몇 번째 문자인지를 의미한다. 그리고 파이썬에서 인덱스는 0부터 시작한다.

"abcdef"라는 문자열에서 a는 첫번째(인덱스는 0) 문자이다. c는 3번째(인덱스는 2) 문자이고, f는 6번째(인덱스는 5) 문자이다. 

주의 : 띄어쓰기도 인덱스를 가진다! 

 

- 인덱싱이란?

: 인덱싱은 인덱스를 활용하여 원하는 데이터를 추출해내는 것을 의미한다. 

예를 들어, "abcdef"라는 문자열에서 3번째 문자열을 추출하고 싶다면(0부터 숫자를 세므로 인덱스는 2) 해당 문자열에서 2라는 인덱스 번호(주소)를 가지는 데이터를 추출하는 명령 코드를 작성하면 된다.

인덱싱

인덱싱을 하는 방법은 간단하다. 인덱싱을 하고자 하는 변수 또는 문자열의 옆에 대괄호[]를 삽입하고 그 안에 원하는 인덱스 번호를 입력한다. 

만약 오른쪽에서부터 몇 번째의 값을 불러오고 싶다면 '-' 기호를 활용하자.

인덱싱(-)

뒤에서(오른쪽에서) 첫 번째 문자인 f를 출력했다.

 

 

다음에 계속... 

 

 

관련글 더보기

댓글 영역