본문 바로가기
python/python 해보자

Python 해보자 [5] = 문자열 자료형 (str)

by 야호호코코 2025. 2. 13.
반응형

1. 문자열 (str)

 말 그대로 문자를 표현하는 자료형이다. 다른 언어라면 단일 문자와 여러 문자인 문자열을 구분짓지만, 파이썬에서는 그러지 않는 관계로 문자열이라고 통일해서 부르겠다.

 문자열은 문자로 이루어진 배열이라고 이해하면 된다. 여러 개의 문자를 이어 붙여 하나의 변수 안에서 관리하는 방식이다. 이를 이해하기 위해선 배열 부분을 짚고 넘어가야 하므로, 배열 파트에서 더 상세하게 다루고, 지금은 문자열을 어떻게 선언하고, 다루는지를 중점으로 설명하겠다. 

 

 문자열을 나타내는 방법은, 작은 따옴표(') 혹은 큰 따옴표(")로 시작하고 내용을 입력한 뒤, 동일한 따옴표로 감싸는 것이다. 다음 코드를 보자.

my_str = "나는 파이썬 강의를 듣고 있습니다."

 

 my_str이라는 변수에 "나는 파이썬 강의를 듣고 있습니다."라는 문자열을 넣어준 것이다. 물론 큰 따옴표를 작은 따옴표로 바꿔서 선언해도 무방하다. 하지만 각기 다른 따옴표를 사용한다면, 닫지 않은 것으로 간주해 에러가 날 것이다.


2. 특수문자 표

 문자열 부분만 따로 독립한 이유는, 숫자형들과 다른 특성을 가질 뿐더러, 특수문자들을 표기하기 위한 방식을 따로 외워야할 게 있기 때문이다. 주로 역슬래시나 원화 마크로 표시되는 특수문자(\)를 앞에 붙이고, 그 뒤에 문자를 넣어 특수문자를 표현할 수 있도록 한다.

 

\n 한 줄 띄우기 (개행)
\t 탭을 누른 것과 같은 효과
\' 작은 따옴표 출력
\" 큰 따옴표 출력
\\ 백슬래시(\) 출력

 

 다음의 표기들은 자주 쓰이는 특수문자들이니 외워놓는 것이 좋다. 다음의 코드를 따라 작성해보면서 익혀보자.

my_str_1 = "이렇게\n하면\n개행"
print(my_str_1)

my_str_2 = "\'작은 따옴표 예시\'"
print(my_str_2)

my_str_3 = "\\\\\\ 백슬래시는 몇 개?"
print(my_str_3)

my_str_4 = "탭\t해\t보\t자"
print(my_str_4)

 

 각 특수문자 표현 자리에는 위 표에 나온대로 해당 특수문자가 표시되는 것을 알 수 있다. 특수문자 표현법도 다른 일반 문자들 사이에 섞어서 마음대로 쓸 수 있다.


3. 문자열 연산

 놀랍게도, 파이썬에서는 문자열에 연산을 할 수 있다! 덧셈과 곱셈을 할 수 있는데, 진짜 수학적인 연산이 아니라, 문자열 이어붙이기와 문자열 반복하기 연산을 수행한다.

 

 3-1. 문자열 덧셈

 문자열의 덧셈은 문자열 끼리만 가능하다. 정수나 실수를 더하거나 배열을 더하면 에러가 발생한다. 무조건 문자열에 문자열을 붙이는 것만 가능하다. 

my_str_1 = "이것은"
my_str_2 = "문자 붙이기!"

my_str_3 = my_str_1 + my_str_2 		# 문자열 붙이기 연산

print(my_str_3)

 

 출력하기 단계에서 print에 여러 변수들을 콤마(,)를 기준으로 붙인 것이 기억이 날 것이다. 그 당시에는 변수와 변수 사이에 공백이 발생하여 붙여졌는데, 문자열 덧셈은 그와 다르게 공백 없이 바로 붙는 것을 볼 수 있다.

 

 3-2. 문자열 곱셈

 문자열의 곱셈은 문자열 * 정수의 형태로만 가능하다. 해당 문자열을 정수 만큼 반복해 붙이는 것이다. 

my_str_1 = "안녕하세요"
repeat = 10

print(my_str_1 * repeat)

 

 my_str_1의 내용을 repeat 만큼 반복해서 출력하게 하는 코드이다! 추후 배울 반복문같은 것을 몰라도 같은 문자열을 원하는 횟수만큼 반복해 출력할 수 있는 방법이다.


4. 연습문제

 

 연습문제 1. 문자열 변수의 선언과 연산을 응용하여 다음과 같이 출력하시오.

안녕하세요.안녕하세요.안녕하세요.

 

 연습문제 2. 문자열 변수의 선언과 연산을 응용하여 다음과 같이 출력하시오.

나는 파란색이 좋아.
나는 검정색이 좋아.
나는 파란색이 좋아.나는 검정색이 좋아.나는 검정색이 좋아.

 

 연습문제 3. 문자열 변수의 선언과 연산을 응용하여 다음과 같이 출력하시오.

a\b\c
"de"'f'
g	h

 

반응형