기타 개발&문제 해결
Python 문자열 작성 시 주의! 복사 붙여 넣기 할 때 따옴표 문제
개발자 May
2025. 4. 28. 17:10
Python에서는 문자열을 '
(따옴표) 또는 "
(쌍따옴표)로 감싸서 작성한다.
이때 Python은 이 따옴표를 기준으로 문자열의 시작과 끝을 구분한다.
문제는 한글 프로그램, MS Word, 웹사이트 등에서 문자열을 복사해 붙여넣을 때 발생한다.
이런 프로그램들은 문서를 보기 좋게 꾸미기 위해, 기본 따옴표 대신 굽은 따옴표(Smart Quotes)를 자동으로 사용한다.
문제 상황
MS Word나 한글에서는 "Hello"
처럼 직선형 쌍따옴표 대신“Hello”
처럼 굽은 쌍따옴표를 넣는다.
하지만 Python은 " "
(ASCII 코드 0x22)만 문자열 구분 기호로 인정한다.“ ”
(유니코드 U+201C, U+201D) 같은 문자는 문자열의 시작이나 끝으로 인식하지 못한다.
결국 코드 실행 시 SyntaxError가 발생한다.
# 잘못된 예 (Word에서 복붙)
“Hello World!”
# 결과: SyntaxError: invalid character '“' (U+201C)
# 올바른 예
"Hello World!"
주의사항
- 문자열을 작성할 때는 항상 ASCII 쌍따옴표(
" "
)를 사용해야 한다. - 복사해 온 문자열은 붙여넣기 후 따옴표를 꼭
" "
로 다시 입력하거나, 중간에 메모장이나 VSCode 같은 텍스트 편집기에 먼저 붙였다가 가져와야 한다. - Word나 한글에서는 스마트 따옴표 기능을 비활성화하는 것도 방법이다.