신규 블로그를 만들었습니다!
문자열 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://docs.python.org/ko/3/tutorial/introduction.html#strings
'Language > Python' 카테고리의 다른 글
Python :: 파이썬 리스트(List) 사용방법과 여러가지 메소드 (0) | 2018.09.08 |
---|---|
Pycharm CE :: 맥북에 파이참 설치하기 (Python 파이썬 개발 도구) (0) | 2018.09.06 |
Python :: 파이썬의 숫자형 자료형(정수, 실수, 복소수, 8진수, 16진수) (0) | 2018.08.31 |
Python :: 파이썬을 계산기처럼 사용해보기 (0) | 2018.08.30 |
Python :: 파이썬 개발도구, IDLE 과 서브라임 텍스트 (설치 및 다운로드) (0) | 2018.08.30 |
최근댓글