1) 문자열
C/C++에서는 'a', 'b', 'c'와 같은 알파벳 글자 하나를 '문자'라고 하며 'jaechul' 같이 두 개 이상의 문자로 구성된 것을 '문자열(house)'이라고 한다.
하지만 파이썬은 문자와 문자열을 구분하지 않고 작은따옴표나 큰 따옴표 안에 있는 문자의 모음을 문자열이라고 한다.
jaechul = 'happy'
string = 'a'
string1 = "b"
string2 = "abc"
위 코드처럼 변수가 문자열을 가리키고 있으면 변수를 통해 해당 문자열을 참조할 수 있다.
파이썬 프롬프트로 화면에 값을 출력하는 함수인 print를 사용하여 jaechul이 가리키는 값을 출력해보자.
>>>print(jaechul)
happy
>>>
2) 문자열 인덱싱 및 슬라이싱
>>>mystring = 'hi jaechul'
>>>len(mystring)
10
>>>
위 코드를 실행하면 10이라는 값이 반환되는데, 'hi jaechul'이라는 문자열이 총 10개의 글자로 구성되어있다는 의미다.
그런데 왜 문자는 분명 9개인데 값으로 10이 나올까?
이유는 공백(띄어쓰기)도 문자로 간주되기 때문이다.
그렇다면 'hi jaechul'이라는 문자열에서 'hi'라는 글자만 따오고 싶다면 어떻게 해야 할까?
이때 유용한 기능이 '슬라이싱(slice)'이다.
>>>mystritg[0:2]
'hi'
>>>
위 코드에서 [0:2]라는 표현은 슬라이싱할 범위를 정하는 것이다.
0은 범위의 시작 위치를, 2는 범위의 끝 위치를 의미한다.
참고로 프로그래밍에서는 범위가 0부터 시작하기 때문에 시작 값이 1이 아니라 0으로 돼 있다.
위 그림은 'hi jaechul'이라는 문자열의 각 글자 사이에 인덱스를 붙인 것이다.
이제 조금 응용하여 'jaechul'만을 가져오려면 어떻게 해야 할까?
>>>mystring[3:10]
'jaechul'
>>>
위와 같이 코드를 작성하면 'jaechul'만을 가져올 수 있다.
위 코드를 작성해본 사람을 느꼈겠지만 맨 마지막 글자 위치를 세기가 귀찮다.
이때 슬라이싱에서 시작값 또는 끝값을 생략하면 알아서 해당 문자열의 시작과 끝을 의미한다.
위 코드를 좀 더 쉽게 작성하면 다음과 같다.
>>>mystring[3:]
'jaechul'
>>>
인덱싱에서는 양수만을 사용할 수 있는 것은 아니다. 음수도 사용할 수 있다.
위 이미지처럼 음수로도 인덱싱을 할 수 있다.
'파이썬' 카테고리의 다른 글
04/28 파이썬 6 - 튜플과 딕셔너리 (0) | 2020.04.28 |
---|---|
04/27 파이썬 5 - 리스트 데이터 삽입, 삭제 (0) | 2020.04.27 |
04/26 파이썬 4 - 리스트, 인덱싱, 슬라이싱 (0) | 2020.04.26 |
04/26 파이썬 3 - 기본 데이터 타입 (0) | 2020.04.26 |
04/23 파이썬 1 - 변수, 객체, 바인딩 (0) | 2020.04.23 |