본문 바로가기
실버를 위한 코딩/파이썬

파이썬의 한글 처리

by forSilver 2024. 3. 21.
반응형

파이썬의 한글 처리

파이썬은 유니코드를 기본적으로 지원하기 때문에, 파이썬 3 이상 버전에서는 한글을 비롯한 대부분의 언어를 처리하는 데 어려움이 없습니다. 여기서 중요한 몇 가지 사항을 살펴봅니다.

문자열 선언

한글 문자열은 따옴표 안에 바로 입력하여 사용할 수 있습니다. 예를 들어:

s = "안녕하세요"
print(s)

인코딩

파이썬 소스 파일은 기본적으로 UTF-8 인코딩을 사용합니다. 이는 한글 문자를 포함한 대부분의 유니코드 문자를 올바르게 처리할 수 있음을 의미합니다. 다른 인코딩을 사용하고 싶다면, 소스 파일의 첫 부분에 인코딩을 명시할 수 있습니다:

# -*- coding: cp949 -*-

그러나 오늘날에는 대부분 UTF-8 인코딩을 사용하는 것이 일반적입니다.

문자열 연산

한글 문자열도 다른 문자열과 마찬가지로 연산을 수행할 수 있습니다. 문자열을 더하거나, 반복하거나, 슬라이싱하는 등의 연산이 가능합니다:

s = "파이썬"
t = "최고!"
print(s + "은 " + t)  # 출력: 파이썬은 최고!

정규 표현식

한글에 대한 정규 표현식 처리는 \uAC00-\uD7A3 범위를 사용하여 유니코드로 한글을 표현합니다. 예를 들어, 모든 한글 문자에 일치하는 정규 표현식은 다음과 같습니다:

import re
pattern = re.compile('[\uAC00-\uD7A3]+')

입출력

파이썬에서 파일을 읽거나 쓸 때, open 함수를 사용하는데, 이때 encoding 파라미터를 지정하여 한글 인코딩을 올바르게 처리할 수 있습니다. UTF-8 인코딩을 사용하는 경우, 다음과 같이 사용합니다:

# 파일 쓰기 예시
with open('example.txt', 'w', encoding='utf-8') as f:
    f.write("파이썬으로 파일을 씁니다.")

# 파일 읽기 예시
with open('example.txt', 'r', encoding='utf-8') as f:
    content = f.read()
    print(content)

라이브러리 지원

파이썬의 다양한 라이브러리들도 한글을 잘 지원합니다. 예를 들어, 데이터 분석 라이브러리인 pandas나 문자열 처리 라이브러리인 NLTK 등은 한글 데이터를 잘 처리합니다.

주의사항

한글 처리 시 주의할 점은, 특히 다양한 환경에서 작업할 때 인코딩 문제가 발생할 수 있다는 것입니다. 예를 들어 윈도우에서는 기본 인코딩이 CP949(일명 EUC-KR의 확장 버전)일 수 있는데, 이를 명시적으로 UTF-8로 설정하지 않으면 오류가 발생할 수 있습니다. 그리고 웹 애플리케이션 개발 시, HTTP 헤더에 적절한 charset을 명시하는 것이 중요합니다.

정리

매직 코멘트 사용


대체로 파이썬 3.x 버전을 사용한다면 한글 처리에 있어 큰 문제는 없을 것입니다. 코드의 첫 줄에 # -*- coding: utf-8 -*-을 명시하고, 필요한 경우 파일 입출력에서 encoding='utf-8'을 지정하면, 대부분의 한글 처리 이슈를 해결할 수 있습니다.