이번 시간에는 파이썬의 기초 문자열 자료형에
대해 알아보도록 하겠습니다.
문자열이란?
문자열(String)이란 뜻 그대로 문자, 단어 등으로
구성된 문자들의 집합을 의미합니다.
예를 들어 다음과 같은 것들이 바로
문자열입니다.
"Life is too short, but we need Python"
"a"
"123"
위 문자열을 보면 모두 큰따옴표(" ")로 둘려싸여
있습니다. "123은 숫자인데 왜 문자열일까"라는
의문이 들수 있는데 따움표로 둘러싸이면
모두 문자열로 보면 됩니다.
문자열을 만들고 사용하는 방법
위 예제에서는 문자열을 만들때 큰 따옴표(" ")만
사용했지만 이 외에도 문자열을 만드는 방법은
3가지가 더 존재합니다.
파이썬에서 문자열을 만드는 방법으로는
총 4가지가 있습니다.
1.큰 따옴표( " )로 양쪽 둘러싸기
"Hello World"
2.작은따옴표( ' )로 양쪽 둘러싸기
'Python is funny && strong'
3.큰따옴표 3개를 연속( """ ) 으로 써서 양쪽 둘러싸기
"""life is too short, You need Python"""
4.작은 따옴표 3개를 연속( ''' ) 으로 둘러싸기
'''Life is too short, We need python'''
단순함이 자랑인 파이썬에서는
문자열을 만드는 방법을 왜 4가지나
가지게 되었을 까요?
문자열 안에 작은 따옴표나 큰 따옴표를 포함시키고 싶을 때
문자열을 만들어 주는 주인공은 작은 따옴표(')와
큰 따옴표('')입니다. 그런데 문자열 안에도
작은 따옴표와 큰 따옴표가 들어 있어야할
경우가 있습니다. 이때는 좀 더 특별한
기술이 필요한데, 예제를 하나 들어봅시다.
1. 문자열에 작은따옴표 ( ' ) 포함시키기
Python's favorite food is perl
위 문자열을 food 변수에 저장하고 싶다면
문자열 중 Python's에 작은따옴표( ' )가 포함됩니다.
이럴 떄 다음과 같이 문자열을 큰따옴표(")로
둘러싸야 합니다. 큰 따옴표 안에 들어 있는
작은 따옴표는 문자열을 나타내기 위한
기호로 인식되지 않습니다.
>>> food = "Python's favorite food is perl
프롬포트창에서 food를 입력해 결과를
확인해 봅니다.
변수에 저장된 문자열이 그대로
출력되는 것을 볼 수 있습니다.
>>> food
"Python's favorite food is perl"
시험 삼아서 다음과 같이 큰따옴표(")가
아닌 작은 따옴표(')로 문자열을 둘러싼 후
다시 실행해 봅니다.
'Python'이라는 문자열로 인식되
구문 오류(SyntaxError)가 발생합니다.
>>> food = 'Python's favorite food is perl'
File "<input>", line 1
food = 'Python's favorite food is perl'
^
SyntaxError: unterminated string literal (detected at line 1)
2.문자열에 큰따옴표 (") 포함하기
"Python is very easy. " he says.
위와 같이 큰따옴표(")가 포함된 문자열이라면
어떻게 해야 큰따옴표가 제대로 표현될까요?
다음과 같이 문자열을 작은따옴표(')로
둘러싸면 됩니다.
say = '"Python is very easy." he says.'
위와 같이 이렇게 작은따옴표(')안에 사용된
큰따옴표(")는 문자열을 만드는 기호로
인식되지는 않습니다.
3. 백슬래시( \ )를 사용해 작은 따옴표( ' )와 큰따옴표( "" )를 문자열에 포함시키기
>>> food = "Python\ 's favorite food is perl"
>>> say = "\"Python is very easy.\" he says."
food = 'Python\'s favorite food is perl'
food
"Python's favorite food is perl"
say = "\"Python is very easy.\" he says."
say
'"Python is very easy." he says.'
작은 따옴표( ' )나 큰따옴표( "" )를 문자열에
포함시키는 또 다른 방법은
백슬래시( \ )를 사용하는 것입니다.
즉 백슬래시( \ )를 작은 따옴표( ' )나
큰 따옴표( " )앞에 삽입하면 백슬래시( \ ) 뒤의
작은따옴표( ' )나 큰 따옴표( " )는 문자열을
둘러싸는 기호의 의미가 아닌
문자 ( ' ), ( " ) 그 자체를 뜻하게 됩니다.
어떤 방법을 사용해서 문자열 안에 작은따옴표와
큰 따옴표를 포함시킬지는 각자 개인의 선택입니다.
대화형 인터프리터를 실행한 후 위 예문을
꼭 작성해봅시다.
여려 줄인 문자열을 변수에 대입하고 싶을 때
문자열이 항상 한 줄 짜리만 있는 것이 아닙니다.
다음과 같이 여러 줄의 문자열을
변수에 대입하려면 어떻게
처리해야 할까요?
Life is too short
You nedd Python
1.줄을 바꾸기 위한 이스케이프 코드 \n 삽입
>>> multiline = "Life is too short\nWed need python"
>>> multiline
'Life is too short\nWed need python'
위 예제처럼 줄바꿈 문자 \n을 삽입하는 방법이
있지만 읽기에는 불편하고 줄이 길어지는
단점이 있습니다.
2. 연속된 작은 따옴표 3개( ' ' ' ) 또는 큰 따옴표 3개( " " " ) 사용하기
위 1번의 단점을 극복하기 위해 파이썬에서는 다음과
같이 작은따옴표 3개(''') 또는 큰따옴표 3개(""")를 사용합니다.
multiline='''
... Life is too short
... You need Python
'''
작은따옴표 3개를 사용한 경우
multiline="""
... Life is too short
... You need Python
"""
큰따옴표 3개를 사용한 경우
print(multiline)를 입력해 어떻게 출력되는지
확인해봅니다.
>>> print(multiline)
Life is too short
You need Python
두 경우 모두 결과는 동일합니다.
위 예제에서도 확인할 수 있듯 문자열이
여러 줄일 경우 escape-code(이스케이프 코드)를
사용하는 것보다 따옴표를 연속으로
사용하는 것이 훨씬 깔끔합니다.
이스케이프 코드란?
문자열 예제에서는 여러 줄의 문장을 처리할 때
백슬래시 문자와 소문자 n을 조합한
\n 이스케이프 코드를 사용했습니다.
이스케이프코드란 프로그래밍을 할 때
사용할 수 있도록 미리 정의해 둔
"문자 조합"입니다. 주로 출력물을 보기 좋게
정렬하는 용도로 사용합니다.
몇 가지 이스케이프 코드를 정리하면
다음과 같습니다.
문자열 연산하기
파이썬에서 문자열을 더하거나 곱할 수 있습니다.
다른 언어에서는 쉽게 찾아볼 수 없는 기능으로
우리 생각을 그대로 반영해 주는 파이썬만의
장점이라고 할 수 있습니다.
문자열을 더하거나 곱하는 방법을
알아봅시다.
문자열 더해서 연결하기(Concatenation)
>>> head = "Python"
>>> heyon = "is fun"
>>> head + heyon
위 소스 코드에서 세번째 줄을 봅시다.
복잡하게 생각하지 않고 눈에 보이는 대로
생각해 보면 "Python"이라는 head 변수와
"is fun!"이라는 heyon 변수와 더한 것입니다.
결과는 "Python is fun!"이라고 출력됩니다.
즉 head와 heyon 변수가 +에 의해 합쳐진 것 입니다.
문자열 곱하기
a = "python"
a * 2
'pythonpython'
위 코드에서 *의 의미는 우리가 일반적으로
사용하는 숫자를 곱하는 의미와는 전혀 다릅니다.
위 소스 코드에 a * 2 문장은 a를 2번 반복하라는
뜻으로 즉 *는 문자열의 반복을 의미로 사용되었습니다.
굳이 코드의 의미를 설명할 필요가 없을
정도로 직관적입니다.
문자열 곱하기 응용
문자열 곱하기를 좀 더 응용해 봅시다.
# 문자열 곱하기 응용 = multistring.py
print("=" * 50)
print("My Program")
print("=" * 50)
입력한 소스를 디렉토리 파일에 위 파일명으로
저장후 프로그램을 cmd로 실행해 봅시다.
C:\Users\****\PycharmProjects\pythonTutorial\02-자료형>python 02-1.multiString.py
==================================================
My Program
==================================================
이런 식의 표현은 앞으로 자주 사용하게 될 것 입니다.
프로그램을 만들어서 실행할 때 출력되는 화면
제일 위쪽 프로그램 제목을 이와 같이
표시하면 보기 좋을 것 입니다.
문자열 길이 구하기
문자열의 길이는 다음과 같이 len 함수를 사용하면
구할 수 있습니다. len 함수는 print 함수처럼
파이썬의 기본 내장된 함수로 별다른
설치 없이 사용할 수 있습니다.
>>> a = "Life is too short"
>>> len(a)
17
참고 자료
'백엔드 > Python' 카테고리의 다른 글
[Python] 파이썬 4강 - 파이썬 프로그래밍의 기초, 자료형 - 문자열 자료형 - 2.문자열 인덱싱과 슬라이싱 (0) | 2023.01.27 |
---|---|
[Python] 파이썬 2장 - 파이썬 프로그래미의 기초, 자료형 - 숫자형 (0) | 2023.01.02 |
[Python] 파이썬 1장 - 파이썬 설치하기 (0) | 2023.01.02 |