저번에는 숫자형식과 그 포맷팅에 대해서 간단하게 알아 보았습니다. 이번에는 숫자형식 다음으로 String에 대해서 짚어 보도록 하겠습니다. C언어나 다른 언어처럼 달리 실제로 String을 많이 사용하지는 않지만 파이썬은 LIST와 깊은 연관을 가지고 있기 때문에 DEEP하게 살펴보도록 한다고 이전에 숫자형에서 말씀 드렸었습니다. 그럼 이번에도 iPython과 같은 IDE를 키고 실제로 타이핑을 하면서 한 번 알아보도록 하겠습니다.

 

1. Definition and escape code

일단 문자열 자료형을 만드는 방법은 간단합니다.

" "나 ' '안에 선언 하면 되는 거죠. 하지만 's와 같이 string안에 ' 기호를 포함시켜야 할 경우가 있을 지도 모르니까, 가능하면 " "로 선언하는 것이 좋습니다. 따라서 " "로 선언하고, 줄바꿈 기호로 \n을, 그리고 tab으로 칸을 띄우고 싶을 때, \t를 사용합니다. 실제로 코딩을 한 번 해보죠.

 

 

이외에도 스트링에서 사용되는 이스케이프 코드는 인터넷에서 검색하면 바로 나오기 때문에 따로 첨부하지 않았습니다. \n과 \t중 뭔가 자주 쓰이냐 하면 당연히 \n입니다. 줄 개행이 훨씬 코드에서 많이 실 생활에서 사용되는 것을 생각하면 코드에서도 이해하기 쉽죠.

2. 문자열 연산

문자열 연산은 상당히 직관적인데. 더하기, 즉 string1이 korea string2가 fighting 으로 정의되어 있는데 string1 + string2라고 하면 당연히 koreafighting이 됩니다. 그리고 string1*100하면 koreakoreakoreakorea........해서 korea가 100개 정의되게 됩니다. 참고로 /, mod등의 기타 연산은 안 된다는 것도 알아두세요.

 

 

3. 문자열 인덱싱

매우, 매우 매우 중요합니다. string에서도 중요하고, 이 다음에 배울 list와도 관련된 부분이기 때문에 미리 제대로 공부해 두면 좋습니다. 일단 개념부터 알아 두겠습니다.

 

  string = "MyNameIs"

 

위와 같은 String을 정의 해 본다고 합시다. 그렇다면 첫 번째 index는 뭘까요? 백문이 불여 일타라고 일단 쳐봅시다.

 

 

 대문자 M "My"의 M입니다. 이 부분이 프로그램을 처음 하시는 분들이 가장 햇갈려 하는 부분 중 하나인데,  인덱스는 0부터 시작합니다. 1이 아닙니다. 그렇다면 -1은 뭘까요. 음, 눈치 빠르신 분들, 그리고 프로그래밍 좀 하시는 분들은 이미 아시겠지만 문자열의 끝부분을 가리키는 것입니다. 그리고 [-2] [-3] [-4]는 여기 나오진 않았지만 끝에서부터 첫부분까지 거꾸로 indexing하는 것입니다.

 조금 햇갈리실 수도 있지만 몇 번 키보드로 직접 타이핑 하시다 보면 금방 이해 하실 수 있으실 거라고 생각합니다. 저도 그랬으니까요. 문제 없습니다! 

 

4. 문자열 슬라이싱

 이 부분은 파이썬 만의 특징이자 장점인데 저는 C언어를 조금 핥다 시피 하면서 파이썬으로 넘어온터라 정말 놀라웠고 혁신(?)적인 언어라고 생각했습니다. 문자열을 인덱스로 슬라이싱 하다니! 어떻게 프로그래밍 언어에 이런 짓을 할 생각을 했지? 라면서요. 사족은 접고. 본격적으로 들어가면,

 문자열 슬라이싱은 말 그대로 문자열을 자르는 겁니다. 예를 들어서, 앞의 MyNameIs라는 문자열 앞의 [2]인덱스 앞을 자르고 싶다, 하면 그렇게 할 수 있고, [2]부터 [5]까지 자르고 싶다 하면, 그렇게 할 수도 있습니다. 그러면 어떻게 그렇게 할까? 는 코딩 하면서 보면 되겠습니다.

 

 

 

[3]번 index전까지 자르고 출력해 보고 싶다. 하면 [0:2]이렇게 쓰면 되는데, 이건 0 에서 2즉, 3번 전까지를 의미합니다. 반면에 :는 모든 string을 의미 합니다. 따라서 [0:] 이렇게 쓰면 0번째에서 남은 모든 string을 의미하게 되어 모든 string을 출력하게 되겠죠. 또한 슬라이싱은 index에서 쓸 수 있는 것을 모두 쓸 수 있기 때문에 -1, -2, -3도 모두 쓸 수 있습니다. 따라서 [4:-1]은 4번째인 m부터 -1번째 전인 I까지를 출력하게 되겠죠.

 

이제 남은 것은 문자열 함수인데, 해당 부분은 문자열에서만 사용하고 다른 부분에서는 그렇게 중요하게 사용되지 않습니다. 하지만 이 역시 가볍게 파이썬 언어에서 가볍게 다뤄서는 안 될 주제이기 때문에 별도의 테마에서 다루도록 하겠습니다.

 

 

 

 

+ Recent posts