문자열이란
먼저 컴퓨터가 받아들이는 문자열과 여러분이 보는 문자열은 차이가 꽤 크다는 것을 알고 시작해야 합니다. 모든 것을 숫자로 이해하는 컴퓨터가 문자를 인식하도록 하려면 ‘문자를 숫자로 변환하는 과정’을 추가로 거쳐야 하며, 이 과정에서 보통 문자 집합(character set) 중 가장 대표적인 유니코드를 사용합니다.
만약 변수에 문자열로 "Programmers is good"을 할당한다면 컴퓨터는 여러분이 선언한 문자열을 각 글자에 해당하는 숫자로 인식합니다. 그리고 모든 글자에 대한 정보를 한곳에 담아야 하기 때문에 암묵적으로 배열로 선언합니다. 기존의 배열처럼 [] 형태로 선언하지는 않지만 엄연히 배열로 취급하며, 배열처럼 사용합니다.
sample = "Programmers is good"
print(sample[0]) #'P'
print(sample[15:]) #'good' 이렇게 슬라이싱도 지원합니다.
sample[15:] = "awesome" #이 코드는 실패합니다.
단, 파이썬의 경우 한 번 선언된 문자열은 상수(const)로 취급하기 때문에 값을 조회할 수는 있으나 임의로 변경할 수는 없습니다. 따라서 2장에서 언급했듯이 문자열을 + 연산자로 합치면 상수와 상수를 합치는 형태가 되고, 이는 새 상수를 생성하여 할당하는 방식이기 때문에 굉장히 비효율적입니다. 이 점만 유의하면 문자열을 다루는 데 큰 문제는 없을 것입니다.
문자열에 대한 가장 기초적인 개념을 알았다면, 이제 문자열로 무엇을 할 수 있을지 알아봅시다.