안녕하세요!😚 오늘은 자료형 중 문자 타입에 대해서 포스팅하려 합니다. 바로 이전 게시글에서 변수에 대하여 포스팅했는데요, 오늘 문자열에 대해서 실습할 때 변수를 잔뜩 사용할 예정입니다! 변수 포스팅에서 배운 내용을 잘 떠올리며 이번 포스팅을 읽어주시면 좋을 것 같습니다.🤗
이번 문자열 포스팅에서는 문자열이란 무엇이며 어떻게 생성하는지, 특수 문자 표현에 대한 정리, 문자열 포맷팅과 인덱싱 등에 대해 2번에 거쳐 다룰 예정입니다. 그러면, 문자열이 뭔지에 대해서 먼저 알아볼까요?🤔
파이썬 IDLE 또는 개발툴(IDE)을 실행해주세요 :)
(참고로, 저는 아나콘다의 주피터 노트북으로 실습을 하였습니다!)
문자열은 문자로 이루어진 자료형 집합을 의미합니다. 그러면 문자열을 한번 생성해볼까요?😚
문자열은 따옴표를 사용하여 만드는 방법이 있고, 내장함수 str()로 자료형을 바꿔줄 수 있습니다.
- 따옴표 사용하여 만들어보기
a = '문자열입니다.' b = "문자열입니다!" print(a) print(b)
문자열입니다. 문자열입니다!
- str() 내장함수로 문자열 만들기
str(123) # 정수를 문자열로
'123'
따옴표를 사용해서 문자열을 생성할 때, 문자열이 중간에 끊겨 SyntaxError가 발생하지 않도록 주의해야 합니다.
- Synatax Error 발생
"영희가 물었다. "철수야, 숙제했어?"" # 큰 따옴표 안에 큰 따옴표 사용
error 발생
- ' '로 코드 수정
문자 열 안에 큰 따옴표를 사용하고 싶다면, 밖에 따옴표를 작은 따옴표로 감싸주면 됩니다. 그러면 위의 코드를 수정해볼게요!'영희가 물었다. "철수야, 숙제했어?"' # ' ' 로 " " 감싸기
'영희가 물었다. "철수야, 숙제했어?"'
- """를 사용하여, 문자열 수정
따옴표 세개( """ """ ) 를 연속으로 사용하면 됩니다. 파이썬은, 세개의 따옴표 내부의 모든 자료를 통으로 문자열로 인식합니다.
=> 참고로, """는 여러줄 주석(Multi-Line Comment)을 달 때 많이 활용""" 영희가 물었다. "철수야, 숙제했어?" 철수는 생각했다. '영희는 숙제를 안하나?' """
'\n영희가 물었다. "철수야, 숙제했어?"\n철수는 생각했다. \'영희는 숙제를 안하나?\'\n'
print('파이썬\n1. 문자열\n2. 숫자열')
파이썬 1. 문자열 2. 숫자열
print('파이썬\t1. 문자열\t2. 숫자열')
파이썬 1. 문자열 2. 숫자열
이외에도 자주 사용되는 Escape Character에 대하여 정리한 표입니다.🙂
표현 | 의미 |
---|---|
\" | 문자 " 출력 |
\' | 문자 ' 출력 |
\n | 줄바꿈/새로운 줄 출력 |
\t | 탭 출력 |
$ | 달러 출력 |
\ | 백슬래쉬 출력 |
print("\"I love Python.\"")
"I love Python."
'10 곱하기 5는 ' + '50 입니다'
'10 곱하기 5는 50 입니다'
'안녕'*5
'안녕안녕안녕안녕안녕'
a = "You only live once." print(len(a))
19
문자열에서 중요한 것 중 하나는 문자열 포맷팅이 있습니다. 포맷팅을 사용하면 문자열을 자유롭게 사용할 수 있는데요, 파이썬을 사용하여 구구단을 출력해본다고 가정해 봅시다.
"1 곱하기 1은(는) 1 입니다." 부터 시작해서, "9 곱하기 9은(는) 81입니다"까지 출력한다고 하면, 숫자 부분만 계속해서 바뀌는 것을 알 수 있을 겁니다.
문자열 내에서 특정 값을 바꿔야 할 경우, 문자열 포맷팅을 사용하면 됩니다. 문자열 포맷팅은 문자열 안에 특정 값을 삽입해 줄 수 있습니다. 그럼 이제 예시를 살펴볼까요?
% 연산자를 사용하여 문자열에 숫자 혹은 문자열을 삽입하는 방법을 먼저 소개해드리겠습니다. 그 전에 문자열 포맷 코드에 대해 간단히 보고 넘어갈게요!😎
문자열 포맷 코드
코드 | 설명 |
---|---|
%s | 문자열(string) |
%d | 정수(integer) |
%f | 실수(float) |
%c | 문자 1개(character) |
%% | 문자 % |
위의 표에서 문자열, 정수, 실수의 포맷 코드가 가장 많이 사용되며, 저희도 이 3가지 포맷 코드를 앞으로 많이 이용할 예정입니다. 위의 포맷 코드 외에도 8진수와 16진수에 관한 포맷 코드도 있는데요, %o, %h로 쓸 수 있습니다.
숫자 삽입
%d를 사용하여, 숫자를 문자열에 삽입합니다.
'오늘의 최고 기온은 %d도 입니다.' % 36
'오늘의 최고 기온은 36도 입니다.'
'저의 별명은 %s 입니다.' % 토끼
'저의 별명은 토끼 입니다.'
temperature = -10 '오늘의 최저 기온은 %d도 입니다.' % temperature
'오늘의 최저 기온은 -10도 입니다.'
info = '최고' temperature = 35.8626841 print('오늘의 %s 기온은 %f도 입니다.' % (info, temperature))
'오늘의 최고 기온은 35.8도 입니다.'
info = '최고' temperature = 35.8626841 print('오늘의 %s 기온은 %0.1f도 입니다.' % (info, temperature))
%0.1f에서 ' . '은 소수점을, 뒤의 숫자 '1'은 첫째 자리를 의미합니다. %0.3f라고 하면 세 번째 자리까지만 출력하라는 것을 의미하겠죠?
format 함수를 사용하여 문자열 포맷팅을 수행하는 방법이 있습니다. 이 방법이 조금 더 파이썬스러운 방법이라고 볼 수 있는데요, 중괄호{}에 값을 대입하고 괄호() 안에 숫자를 넣으면 포맷팅이 끝납니다.
format 함수도 % 연산자와 마찬가지로 숫자/문자 삽입이 가능하고 변수와 여러 값을 추가해 줄 수 있습니다. 살짝 다른 점은 인덱스를 활용할 수 있다는 건데요, 다음 예시들을 통해 쉽게 이해하실 수 있을 겁니다!😃
- format 예시
print('제가 가장 좋아하는 음식은 {}입니다.'.format('치킨'))
'제가 가장 좋아하는 음식은 치킨입니다.'
- 인덱스 사용 비교
print('{}x{}={}'.format(6,7,42)) print('{1}x{2}={0}'.format(42,6,7)) print('내 이름은 {}이고, 나이는 {old}살이야.'.format('신짱구', old = 8))
'6x7=42' '6x7=42' '내 이름은 신짱구이고, 나이는 8살이야.'
여기서 주의해야할 점은 다음 포스팅에서도 다루겠지만, 파이썬은 숫자를 셀 때 1이 아닌 0부터 셉니다. 이 점 꼭 기억해주세요!🙄
이렇게 1부를 마칩니다! 바로 다음 포스팅에서는 문자열에 대하여 이어서 설명하겠습니다. 오늘 내용도 정말 중요하니까 꼭 복습해주세요~!!
그럼, 다음 포스팅에서 만나요~~🤍