본문 바로가기
프로그래밍 언어/Python

[Python] 01. 자료형 - 문자열 자료형(1)

by 민졈 2022. 6. 2.

 

 

지난 시간에는 파이썬의 자료형 그 중의 숫자형에 대해 알아봤는데요,

 

 

이번 포스팅에서는 파이썬의 문자열 자료형에 대해 알아보겠습니다.

 

 

 

문자열이란?

 

문자열은 문자, 단어 등으로 구성된 문자들의 집합을 의미합니다.

 

아래는 문자열의 예시입니다.

 

 

문자열이라고 하기엔 애매한 것이 있는데 바로 "1234"입니다.

 

하지만 이 "1234" 역시 문자열에 포함됩니다.

 

 

 

왜일까요?

 

 

 

 

파이썬에서는 큰따옴표(" ")로 둘러싸여있는 것들은 모두 문자열이라고 하기 때문입니다.

 

 

 

 

 

큰따옴표로 만들어진 것들은 모두 문자열이지만 문자열을 만드는 방법은 총 4가지가 있습니다.

 

 

 

 

1. 큰따옴표( " )로 양쪽 둘러싸기

 

 

2. 작은따옴표( ' )로 양쪽 둘러싸기

 

 

3. 큰따옴표 3개를 연속으로 사용하여 양쪽 둘러싸기

 

 

4. 작은따옴표 3개를 연속으로 사용하여 양쪽 둘러싸기

 

 

 

 

 

 

그리고 파이썬에서는 위의 방법으로 만들어진 문자열 안에

 

작은따옴표나 큰따옴표를 포함시킬수도 있습니다.

 

 

 

1. 문자열 안에 작은따옴표( ' ) 포함시키기

 

 

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

 

 

3. 백슬래시( \ )를 사용해서 작은따옴표( ' )와 큰따옴표( " )를 문자열에 포함시키기

 

 

 

 

위의 예시들처럼 한줄로 되어있는 문자열은 여러가지 방법을 통해서 만들 수 있습니다.

 

 

그렇다면 여러 줄로 되어있는 문자열을 변수에 넣고 싶을 때는 어떻게 처리해야 할까요?

 

 

방법은 두가지가 있습니다.

 

 

 

 

1. 이스케이프 코드 \n 삽입하기

 

파이썬에서 \n을 사용하게 되면 줄을 변경할 수 있습니다.

 

하지만 이스케이프 코드인 \n을 사용하게 되면 읽기가 불편하고 줄이 길어지는 단점이 있습니다.

 

 

 

 

2. 연속된 작은따옴표 3개( ' ' ' ) 혹은 큰따옴표 3개( " " " ) 사용하기

 

이스케이프 코드 \n을 사용할 때 있는 단점을 보완하기 위해 파이썬에서는

 

연속된 작은따옴표 3개( ' ' ' ) 혹은 큰따옴표 3개( " " " ) 를 사용합니다.

 

 

 

 

 

 

 

앞서 숫자형에 대해 공부할 때 숫자형은 연산이 가능하다고 이야기했습니다.

 

그렇다면 문자열은 연산을 할 수 없을까요??

 

 

 

정답은 No!

 

 

 

 

파이썬에서 문자열은 더하기와 곱하기를 할 수 있습니다.

 

 

 

1. 문자열 더하기

head = "Hello"
tail = "Python"

head + tail

 

위의 예시에 있는 head와 tail 문자열을 더하면 어떻게 될까요?

 

 

결과는 "Hello Python" 이 됩니다. 즉, head와 tail의 변수가 합쳐진 것이죠.

 

 

 

 

 

2. 문자열 곱하기

 

그렇다면 문자열에 곱셈을 하게되면 어떻게 될까요?

 

a = "Python! "
a * 3

 

결과는 "Python! Python! Python!"이 됩니다.

 

우리가 일반적으로 사용하는 숫자 곱하기와는 다르게 문자열의 곱셈은

 

문자열을 곱셈 한 수 만큼 반복하라는 의미입니다.

 

 

 

 

문자열의 연산, 간단하죠??

 

 

 

 

문자열의 길이 구하기

 

 

이렇게 곱해지고 더해진 문자열의 길이를 알고 싶을 때

 

파이썬에서는 함수를 사용하여 간단하게 알 수 있습니다.

 

 

바로 len 함수인데요, 이 함수는 파이썬의 기본 내장 함수로서

 

문자열의 길이를 알 수 있게 해줍니다.

 

a = "Python is best!!"
len(a)

>> 16

 

 

 

 

이번 시간에는 문자열에 대해서 알아봤는데요,

 

 

 

다음 포스팅에서는 문자열의 인덱싱, 슬라이싱, 포맷팅 등

 

 

 

조금 더 깊은 내용에 대해 배워보도록 하겠습니다.

 

 

 

 

 

 

댓글