문자열 자료형(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
'파이썬 > 기초 문법' 카테고리의 다른 글
[파이썬]문자열 함수 - 값 찾기, 개수 세기, 합치기, 나누기 (1) | 2022.09.26 |
---|---|
[파이썬]문자열 포매팅 - 포맷 코드, format 함수, f 포매팅 (1) | 2022.09.25 |
[파이썬]문자열 자료형 - 인덱싱과 슬라이싱 (4) | 2022.09.24 |
[파이썬]숫자 자료형 정리 - int, float, 사칙연산 (0) | 2022.09.22 |
[파이썬]Python 변수 이해하기 (0) | 2022.09.21 |
댓글