본문 바로가기
파이썬/기초 문법

[파이썬]문자열 만들기 및 이스케이프 코드 정리

by 코키드 Cokid 2022. 9. 23.
반응형

문자열 자료형(String)이란 숫자가 아닌 문자나 단어로 된 자료형을 말한다.

예를 들면 "안녕하세요", '김개똥', "Hello, World!" 같은 자료형이다.

이번 글에서는 문자열 자료형 만드는 방법과 문자열 자료형의 연산에 대해 포스팅한다.

 

문자열 자료형 만들기

문자열 양 쪽에 큰 따옴표(")

>>> a = "Hello, Python!"
>>> type(a)
<class 'str'> # 자료형 str로 표기된다.

 

문자열 양 쪽에 작은따옴표(')

>>> b = 'I am a student.'

 

문자열 양 쪽에 큰 따옴표를 연속으로 3개 사용(""")

>>> c = """Nice to meet you"""

 

문자열 양 쪽에 작은따옴표를 연속으로 3개 사용(''')

>>> d = '''See you later. Bye!'''

 

※주의사항

굳이 파이썬에서 큰 따옴표와 작은따옴표를 구분해서 사용하는 이유가 있다. 다음 예문을 보자

>>> eg = ""He is so nice", she said" # 에러 발생

 

위 코드를 실행하면 에러가 발생한다. 원인은 큰 따옴표 안에 큰 따옴표가 한번 더 들어갔다는 것이다.

문자열에 큰 따옴표가 포함되어 있다면 작은따옴표로 문자열을 만들어줘야 한다.

>>> eg = '"He is so nice", she said' # 에러가 발생하지 않는다.

 

반대로 문자열 안에 작은따옴표가 있다면 큰 따옴표로 문자열을 만들어야 한다.

>>> eg = 'It's sunny' # 에러가 발생한다.

>>> eg = "It's sunny" # 에러가 발생하지 않는다.

 

이스케이프 코드 사용하기

이스케이프 코드란 문자열에 백슬래쉬(\)와 소문자를 조합하여 특정 기능을 수행하는 문자다.

 

따옴표 안의 따옴표 처리하기

"He's been looking for you!"

위와 같은 문자열을 생각해보자. 큰 따옴표와 작은따옴표가 모두 들어가 있어서 어느 방법으로 만들어도 에러가 뜰 것이다.

이런 경우에는 이스케이프 코드를 사용해야 한다.

우선 위 문장을 출력해보겠다.

>>> eg = "\"He's been looking for you!\", she said."
>>> print(eg)
"He's been looking for you!", she said.

큰 따옴표로 만든 문자열 안에 큰 따옴표가  포함되어 있지만 큰 따옴표 앞에 백슬래쉬(\)를 사용하여 에러를 피했다.

작은따옴표도 큰 따옴표와 동일하게 사용할 수 있다.

 

이스케이프 코드 \n으로 줄 바꾸기

I don't know who you are.
but I will look for you,
I will find you.

이번엔 이스케이프 코드를 활용하여 위와 같이 줄 바꿈이 포함된 문자열을 출력해볼 것이다.

이스케이프 코드 \n을 문자열 중간에 삽입하여 줄을 바꿀 것이다.

>>> eg = "I don't know who you are\nbut I will look for you,\nI will find you." 
>>> print(eg)
I don't know who you are
but I will look for you,
I will find you.

코드 입력 시에는 보기가 불편하지만, 출력을 하니 줄 바꿈이 되어 훨씬 읽기가 수월해졌다.

하지만 문자열이 더 길어지면 코드의 가독성이 현저히 떨어질 것이다.

 

큰 따옴표(""") 또는 작은따옴표(''') 3개 사용하기

이스케이프 코드로 줄 바꿈을 할 때 줄이 길어지는 단점을 해결하기 위해 따옴표 3개를 사용할 수 있다.

위 예문을 큰 작은따옴표를 활용하여 파이썬에서 출력해보자.

>>> eg = '''I don't know who you are.
... but I will look for you,
... I will find you.'''
>>> print(eg)
I don't know who you are.
but I will look for you,
I will find you.

작은 따옴표 세 개를 문자열 양 쪽에 삽입하여 문자열을 만들면 이스케이프 코드를 사용하지 않아도 Enter를 눌러 줄 바꿈을 할 수 있다. 내가 타이핑 한 대로 출력이 되기 때문에 읽기에도 편하고 직관적이다.

문자열에 줄 바꿈이 많이 포함되어 있다면 이스케이프 코드보다는 따옴표를 사용하는 게 편하다.

 

아래는 이스케이프 코드들을 정리해놓은 테이블이다.

그중 자주 사용되는 이스케이프 코드는 \n, \t, \\, \', \" 정도이니 잘 익혀둬서 적재적소에 활용해보자.

이스케이프 코드

 

문자열 자료형의 연산

파이썬에서 문자열은 숫자형처럼 빼기나 나눗셈은 할 수 없지만, 더하기나 곱하기는 가능하다.

예시 코드를 보면 직관적으로 이해하기 쉬울 것이다.

 

문자열 더하기(Concatenation)

>>> a = "I am "     
>>> b = "a student"
>>> a + b
'I am a student'

 위 예문을 보면 더하기 연산을 하면 a와 b의 문자열이 단순히 연결되는 것을 확인할 수 있다. 

 

문자열 곱하기

>>> a = "test"
>>> a*5
'testtesttesttesttest'

문자열에서의 곱하기(*)는 반복을 의미한다. 사실 숫자의 곱하기와 크게 다르지 않다. 2 * 5가 2개 다섯 개가 있는 것이니, 위 test*5는 test가 5개 있는 것이다.

 

문자열 곱하기 활용

문자열의 곱하기를 활용할 수 있는 유용한 스킬이 있다.

print('*' * 30)
print('Welcome to Cokid Blog')
print('*' * 30)

IDE에서 위 코드를 작성하고 결과를 확인해 보자. 

******************************
Welcome to Cokid Blog
******************************

프로그램을 실행시켜 화면을 띄울 때 유저에게 주의를 환기시키거나 정보를 분리해서 보여줄 때 유용해보인다.

 

문자열 길이 구하기

문자열 자료형은 숫자형과 달리 sequence 타입이라 길이를 가진다.

파이썬 내장 함수 len으로 문자열의 길이를 쉽게 구할 수 있다.

>>> a = 'Welcome to Cokid'
>>> print(len(a))
16
>>> a = '=' * 50 # 곱하기 연산을 통해 '='기호를 50번 반복
>>> print(a)
==================================================
>>> print(len(a))
50

 

 

 

 

 

2022.09.22 - [파이썬/기초 문법] - [Python]숫자 자료형 int, float & 사칙연산

 

[Python]숫자 자료형 int, float & 사칙연산

숫자 자료형이란 숫자 형태로 이루어진 자료형이다. 이번 글에서는 흔히 사용되는 정수와 소수점이 있는 실수 자료형과 숫자형의 사칙연산에 대해 알아볼 것이다. 드물게 2진수, 8진수, 16진수도

codekid.tistory.com

 

반응형

댓글