프로그래밍/Python

[Python] 문자열 입력 방법

슬기나무 2021. 6. 12. 00:08
반응형

다양한 문자열 입력 방법에 대해 알아봅시다.

 

 따옴표 - 홑따옴표, 겹따옴표, 세겹따옴표

파이썬에서 문자열을 입력할 때엔 홑따옴표 안에 입력합니다.

 

'Hello, world.'와 같은 형식으로 말이죠.

 

하지만 문자열 안에 홑따옴표를 사용해야할 경우엔 어떨까요?

A = 'Hello, I'm minsoo.'

이 경우 아래와 같은 에러가 발생합니다.

I 다음 홑따옴표로 인해 문자열이 끝난 것으로 간주하여

 

m minsoo.'는 잘못된 코드로 받아들이기 때문이죠.

 

이 경우 겹따옴표를 사용하면 해결됩니다.

A = "Hello, I'm minsoo."

print(A)

그러면 홑따옴표로 이루어진 문자열 안에선 홑따옴표를 쓸 수 없을까요?

 

역슬래시로 이루어진 이스케이프 문자를 쓰면 가능합니다!

A = 'Hello, I\'m minsoo.'

print(A)

위 예시에서 같은 홑따옴표를 사용함으로써

 

문자열의 시작과 끝을 구분할 수 없었던 것에 반해

 

역슬래시를 사용하여 구분해주면 홑따옴표로 이루어진 문자열 안에서도

 

홑따옴표를 사용할 수 있습니다.

 

이 외에도 여러가지 이스케이프 문자가 있으니 아래를 참고하세요.

이스케이프 문자 출력 결과
\' 홑따옴표
\" 겹따옴표
\t Tab
\n 줄 바꿈
\\ 역슬래시

 

그리고 파이썬에서는 세개의 홑따옴표나 겹따옴표를 사용하여

 

여러 줄의 문자열을 사용할 수도 있습니다.

 

이 경우 줄 바꿈을 넣기 위해 \n 이스케이프 문자를 사용할 필요가 없습니다.

 

예를 들면

A = '''Hi, minsoo.

How are you?'''

print(A)

마치 줄 바꿈 이스케이프 문자를 넣은 듯 동작하는 모습입니다.

 

만약 홑따옴표만 쓴다면 어떨까요?

A = 'Hi, minsoo.

How are you?'

print(A)

네. 에러가 납니다.

 

 원시 문자열

문자열을 시작하는 따옴표 앞에 r을 붙이면 문자열을 원시 문자열로 만들 수 있습니다.

 

'원시'라는 말에서 느낄 수 있듯이 이 문자열 안에서는

 

모든 이스케이프 문자가 무시되며 문자열에 나타나는 역슬래시를 그대로 보여줍니다.

A = r'Hello, I\'m minsoo.'

print(A)

 

 

 문자열 인덱스

문자열에서도 리스트와 마찬가지로 인덱스를 사용할 수 있습니다.

 

A = 'Hello, I\'m minsoo.'

print(A[0])

위의 출력 결과처럼 마치 리스트 안에서 인덱스를 매기듯

 

각 글자 하나하나에 인덱스를 매깁니다.

 

위 문장에서 문자열의 인덱스는 아래와 같습니다.

주의할 점은 띄어쓰기도 하나의 인덱스를 차지하고

 

이스케이프 문자 \'는 두개인 것 같지만 하나의 인덱스라는 점입니다.

 

슬라이스를 통해 숫자로 매겨놓은 인덱스가 맞는지 확인해볼까요?

 

띄어쓰기와 이스케이프 문자 인덱스에 대한 설명이 맞다면

 

A[:17] 했을 때 마지막 마침표 빼고 모두 출력되어야 합니다.

A = 'Hello, I\'m minsoo.'

print(A[:17])

네. 위에서 설명했던 대로 잘 동작하는 모습입니다.

 

 

여기까지 다양한 문자열 입력 방법에 대해 알아보았습니다.

반응형