다양한 문자열 입력 방법에 대해 알아봅시다.
따옴표 - 홑따옴표, 겹따옴표, 세겹따옴표
파이썬에서 문자열을 입력할 때엔 홑따옴표 안에 입력합니다.
'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])
네. 위에서 설명했던 대로 잘 동작하는 모습입니다.
여기까지 다양한 문자열 입력 방법에 대해 알아보았습니다.
'프로그래밍 > Python' 카테고리의 다른 글
[Python] 파일 경로 설정 (0) | 2021.06.14 |
---|---|
[Python] 문자열 메소드 (0) | 2021.06.12 |
[Python] 데이터 유형: 사전(Dictionary) (0) | 2021.06.10 |
[Python] 리스트(list) 활용 - for문, 다양한 메소드 (0) | 2021.06.09 |
[Python] 데이터 유형: 리스트(list) (0) | 2021.06.08 |