참조 : 파이썬 마을

>>> a = "한글입력"
>>> a
한글입력

이렇게 출력 될 줄 알았는데 그게 아니더군요.

>>> a = "한글입력"
>>> a
'\xc7\xd1\xb1\xdb\xc0\xd4\xb7\xc2'
>>> print a
한글입력
>>>

이렇게 해야 원하는 대로 나옵니다. 하지만 영어는 그냥 변수명을 찍어도 배열에 있는 내용이 그대로 나옵니다.

>>> b = "Spring"
>>> b
'Spring'
>>> print b
Spring

한글이 차지하는 바이트 수가 2바이트인데 배열에 1byte밖에 못들어가서 그러는 건지...repr()이라는 함수는 뭐하는 녀석인지 궁금해지네요.

>>> repr(a)
"'\\xc7\\xd1\\xb1\\xdb\\xc0\\xd4\\xb7\\xc2'"
>>> repr(b)
"'Spring'"
>>> print repr(a)
'\xc7\xd1\xb1\xdb\xc0\xd4\xb7\xc2'
>>> print repr(b)
'Spring'