파이문

Python 문자열 본문

Python/Python

Python 문자열

민Z 2018. 1. 14. 22:08

Python 문자열



Python3.X와 2.X 에는 몇 가지 차이점이 있는데, 그 중 하나가 바로 문자열 타입에 관한 것이다.


Python3.X 에는 문자열 타입은 총 2가지가 있다.

  • str
    • unicode로, 'hello' 같은 형태로 주로 표현한다.
  • bytes
    • string 으로 b'hello'  처럼 표현한다.


Python2.X 에는 문자열 타입이 3가지다.

  • str
    • string으로 'hello' 라고 표현한다.
  • bytes
    • str이랑 같다.
  • unicode
    • unicode로 u'hello' 라고 표현한다.


Python2.X 에서 한글을 사용하면서 종종 UnicodeEncodeError: 'ascii' codec can't encode character 와 같은 에러를 자주 접했을 것이다.

그럴 때 마다, 답변 대부분이 Python3.X를 사용하라 라는 것인데, 솔직히 그 말이 맞다. 3점대가 정신 건강에 이로우니 왠만해선 3점대를 사용하도록 하자.


그래도 Python2.X를 써야하는데 유니코드 에러를 내뱉는다면, 대개는 values.encode('utf-8') 로 하고,

최상단에 # -*- coding: utf8 -*- 하면 되긴 한다.



Comments