파이썬으로 문자열 다루기1/2

파이썬으로 문자열 다루기1/2



프로그램을 만들면서 가장많이 처리하는것은 문자열을 다루는 것입니다. 일전에 + 연산자를 이용하여 문자열을 연결하는 방법과 * 연산자를 이용하는 방법에 대해서 알아보았습니다.



이번에는 그보다 훨씬 더 많은 일을 할수 있는 방법에 대해서 알아보도록 하겠습니다.


문자열 리터럴

파이썬에서 문자열은 홑따옴표로 시작해서 홑따옴표로 끝납니다. 하지만 문자열안에 홑따옴표를 사용하기 위해서

me 변수에  ‘I’m Tom’을 할당해보면 아래와 같이 오류가 발생합니다.



이런경우 어떻게 해야할까요?

첫번째 방법으로는 겹따옴표로 감싸는 경우 입니다.


me = “I’m Tom”



쌍따옴표를 이용하면 위와같이 만들수 있습니다. 또다른 방법은 이스케이프 문자열을 사용하는 것입니다. 이스케이프 문자열을 사용하는 방법은 \ + 문자열을 해주면 됩니다.


me = ‘I\’m Tom’



위와같이 이스케이프 문자열을 이용하면 홑따옴표나 쌍따옴표를 사용할 수 있습니다.


마지막 세번째 방법은 홑따옴표 세개 또는 쌍따옴표 세개를 이용하여 문자열을 만드는 것입니다. 이 문자열은 여러줄에 걸쳐서 사용할수 있는 문자열 입니다.





세겹 따옴표를 이용하면 위와같이 여러줄도 변수에 할당할 수 있습니다.




문자열 인덱스 및 슬라이스

파이썬의 문자열의 특징은 리스트처럼 인덱스와 슬라이스를 사용하여 문자열을 조작 할 수 있습니다.


exam_str = “Hello world!”

for n in range(0, len(exam_str)) :

    print(“exam_str[“, n, “]”, exam_str[n])


위의 코드는 마치 문자열이 배열처럼 나타나는 것을 확인할수 있습니다.

위의 코드를 실행하면



마치 배열의 값을 차례대로 출력하는것과 같다는 것을 확인할 수 있습니다. 이러한 방법은 파이썬을 가지고 문자열을 유연하게 처리할수 있습니다.


이번에는 위에서 배열과 같이 나타나는 부분을 [0:n]의 값으로 가져와보도록 하겠습니다.


exam_str = “Hello world!”

for n in range(0, len(exam_str)+1) :

    print(“exam_str[0:”, n, “]”, exam_str[0:n])




위의 내용은 [첫번째숫자 : 두번째숫자] 이렇게 표현하게되면 첫번째 숫자의 위치에서 두번째 숫자의 길이만큼 값을 가져와서 출력해 줍니다.


그러면 [:숫자]의 표현은 어떻게 가져오는지 확인해 보도록 하겠습니다.


exam_str = “Hello world!”

for n in range(0, len(exam_str)+1) :

    print(“exam_str[:”, n, “]”, exam_str[:n])


위의 코드를 실행하면 아래와 같은 결과를 확인할 수 있습니다.


앞에 아무것도 넣지 않은것은 마치 0을 넣은것과 동일한 결과를 보여주고 있습니다. 그러면 이번에는 두번째 숫자에 아무것도 넣지 않은경우 어떻게 나타나는지 확인해 보도록 하겠습니다.


코드는 아래와 같이 실행해 보도록 하겠습니다.


exam_str = “Hello world!”

for n in range(0, len(exam_str)) :

    print(“exam_str[“, n, “:]”, exam_str[n:])




오른쪽 숫자를 넣지 않으면 좌쪽 숫자의 위치에서부터 끝까지 문자열을 리턴합니다.



그러면 이번에는 음수의 값을 넣어보도록 하겠습니다.



exam_str = “Hello world!”

for n in range(0, len(exam_str)+1) :

    print(“exam_str[:-“, n, “]”, exam_str[:-n])


코드는 위와 같이 하고 실행해 보도록 하겠습니다.



어떤 가요?


위의 값은 0의 위치에있는 문자열부터 두번째 숫자를 뺀 만큼의 문자열을 리턴하고 있습니다.


이번에는 첫번째 숫자에 음수값을 넣어보도록 하겠습니다.


exam_str = “Hello world!”

for n in range(1, len(exam_str)+1) :

    print(“exam_str[-“, n, “:]”, exam_str[-n:])




앞에 음수를 넣는것은 맨뒤에서부터 음수 숫자만큼 앞으로 간 데이터를 가져오는 것을 확인할 수 있습니다.



이러한 방법은 프로그래밍을 하면서 문자열을 유연하게 다루고 쉽게 다룰수 있습니다.


이러한 방법을 잘익혀서 사용하시기 바랍니다.





댓글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.