기타 개발&문제 해결

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나 한글에서는 스마트 따옴표 기능을 비활성화하는 것도 방법이다.

참고 자료