신규 블로그를 만들었습니다!

2020년 이후부터는 아래 블로그에서 활동합니다.

댓글로 질문 주셔도 확인하기 어려울 수 있습니다.

>> https://bluemiv.tistory.com/

문자열 string

문자열은 단어, 문장과 같이 문자의 집합이라 할 수 있습니다. 프로그래밍 언어에선 문자열을 영문으로 표현하면 string으로 표현합니다.

문자열 - 출처

 

작은 따옴표, 큰 따옴표

파이썬에서는 문자열을 표현할 때 작은 따옴표 ' ', 큰 따옴표 " "를 이용해서 표현합니다. 예제를 살펴보면

 

>>> print('single')
single
>>> 
>>> print("double")
double​

 

이스케이핑 문자 또는 특수 문자

이스케이핑 문자를 사용할때는 키보드 엔터 위에 위치한 '\' 원화 또는 백슬래쉬 키를 이용합니다. 이스케이핑 문자는 특별한 기능을 가진 문자입니다. 예를들어, \n을 이용하면 개행(한줄 띄기) 효과를 볼 수 있다. \t를 이용하면 탭(Tap)의 효과를 볼 수 있습니다. 

 

>>> print('hello\npython')
hello
python
>>> 
>>> print('hello\tpython')
hello    python​

 

이 밖에도 여러 이스케이프 문자들이 존재합니다. 아래 표를 보면 더욱 다양한 이스케이프 문자들을 확인 할 수 있습니다.

 

이스케이프 문자 - 출처

 

싱글따옴표 내부에서 싱글따옴표를 사용하고 싶은 경우, 예를들어서 'hello'python''과 같이 사용하고 싶을때는 \를 이용해서 사용할 수 있습니다.

 

>>> print('hello \'python\'')
hello 'python'​

 

위와같이 이스케이프를 사용하지 않고 표현할 수도 있습니다. 쌍 따옴표와 싱글따옴표를 같이 사용하는 방법이 있습니다.

 

1
2
3
4
>>> print("Hello 'python'!!")
Hello 'python'!!
>>> print('Hello "python"!!')
Hello "python"!!
cs

 

위 예제와 같이 쌍따옴표 안에서는 \를 사용하지 않고도 ' 싱글 따옴표를 사용할 수 있습니다. 반대로 싱글 따옴표 안에서는 " 쌍 따옴표를 사용할 수 있습니다.

 

문장단위로 표현하기

"""와 '''처럼 쌍 따옴표 또는 싱글 따옴표를 3번 같이 사용하면 문장단위로 문자열을 표현할 수 있습니다. 한번만 사용할때는 개행을 하게 되면 파이썬은 문법 오류가 발생 합니다.

 

 

하지만, '''를 3번을 사용하면 문장 단위로 표현할 수 있습니다. 마찬가지로 """도 가능합니다.

 

>>> print('''spam
eggs''')
spam
eggs​

 

 

인덱싱과 슬라이싱

인덱싱(Indexing)이란 무엇인가를 "가리킨다"는 의미이고, 슬라이싱(Slicing)은 무엇인가를 "잘라낸다"는 의미입니다. 아래 인덱싱과 슬라이싱을 예제를 통해 더 자세히 보겠습니다.

 

문자열 인덱싱

첫 번째 문자는 인덱스 0에 대응됩니다. 그 이후로 1, 2... 1씩 증가하여 인덱스를 표현합니다. 

 

문자열 인덱싱 - 출처

 

이때, 인덱싱한 문자는 별도의 형은 없습니다. 단순히 길이가 1인 문자열입니다. 문자열을 확인하는 방법은 type()이라는 메소드를 이용하는 방법이 있습니다. 이 메소드는 인자로 들어가는 값이 무슨 자료형을 가지는 알려줍니다.

 

>>> my_str = 'Python'
>>> print(type(my_str[0]))
<class 'str'>​

 

인덱싱 예제를 한번 살펴보면,

>>> word = 'Python'
>>> word[0]  # character in position 0
'P'
>>> word[5]  # character in position 5
'n'​

 

또한 음수로 표현이 가능합니다.

>>> word[-1]  # last character
'n'
>>> word[-2]  # second-last character
'o'
>>> word[-6]
'P'
​

 

 

문자열 슬라이싱

슬라이싱은 인덱스를 이용해서 문자열의 일부를 잘라내는 방법입니다. 

 

문자열 슬라이싱 - 출처

 

아래 예제를 통해 슬라이싱을 살펴봅시다.

 

>>> word[0:2]  # characters from position 0 (included) to 2 (excluded)
'Py'
>>> word[2:5]  # characters from position 2 (included) to 5 (excluded)
'tho'​

 

코드 1, 2번째 줄, 인덱스 0번부터 2전까지 잘라냅니다. word에는 Python이 들어있고, 이때 word의 0번째 인덱스는 'P', 1번째 인덱스는 'y' 입니다. 따라서, 'Py'가 잘라집니다.

코드 3,4번째 줄도 동일합니다.

 

슬라이싱을 응용을 하면, 데이터를 쉽게 조작할 수 있습니다. 예를 들어서, '2018-09-03Monday09:31rain'과 같은 다양한 정보가 들어가 있는 데이터가 주어졌을때, 슬라이싱을 이용하면 날짜, 요일, 시간, 날씨를 쉽게 뽑아낼 수 있습니다. 코드를 살펴보면

 

data = '2018-09-03Monday09:31rain'

my_date = data[0:10]
my_day = data[10:16]
my_time = data[16:21]
my_weather = data[21:]

print(my_date, my_time, my_day, my_weather)​

 

실행했을 때, 결과는 아래와 같습니다.

2018-09-03 09:31 Monday rain​

 


관련된 글

2018/08/29 - [Language/Python] - Python :: 파이썬을 사용하는 이유? (프로그래밍 언어)

2018/08/30 - [Language/Python] - Python :: 파이썬 개발도구, IDLE 과 서브라임 텍스트 (설치 및 다운로드)

2018/08/30 - [Language/Python] - Python :: 파이썬을 계산기처럼 사용해보기

2018/08/31 - [Language/Python] - Python :: 파이썬의 숫자형 자료형(정수, 실수, 복소수, 8진수, 16진수)

2018/09/08 - [Language/Python] - Python :: 파이썬 리스트(List) 사용방법과 여러가지 메소드

 


Reference

https://wikidocs.net/13

 

위키독스

온라인 책을 제작 공유하는 플랫폼 서비스

wikidocs.net

https://docs.python.org/ko/3/tutorial/introduction.html#strings

 

3. 파이썬의 간략한 소개 — Python 3.8.0 문서

3. 파이썬의 간략한 소개 다음에 나올 예에서, 입력과 출력은 프롬프트(>>> 와 ...)의 존재 여부로 구분됩니다: 예제를 실행하기 위해서는 프롬프트가 나올 때 프롬프트 뒤에 오는 모든 것들을 입력해야 합니다; 프롬프트로 시작하지 않는 줄들은 인터프리터가 출력하는 것들입니다. 예에서 보조 프롬프트 외에 아무것도 없는 줄은 빈 줄을 입력해야 한다는 뜻임에 주의하세요; 여러 줄로 구성된 명령을 끝내는 방법입니다. 이 설명서에 나오는 많은 예는 (대화형 프롬

docs.python.org

 

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기