基本的Python编码

Ale*_*lex 0 python encoding

我有一个简单的文件:

# -*- coding: utf-8 -*-

a = u'Alegría'
print a
print {'a': a}
Run Code Online (Sandbox Code Playgroud)

输出是:

Alegría
{'a': u'Alegr\xeda'}
Run Code Online (Sandbox Code Playgroud)

为什么我得到它而不是:

Alegría
{'a': u'Alegría'}
Run Code Online (Sandbox Code Playgroud)

提前致谢

Pav*_*sov 6

dict字符串表示调用repr键和值,并repr尽最大努力创建一个字符串表示,您可以使用或使用声明的编码粘贴到任何文件或解释器中,然后返回该对象.

你的字符串很好,它只是一个安全的表示.