我正在抓取一个网页,我猜得到的是一个 utf-8 文本。因此,发生了以下情况:
# -*- coding: utf-8 -*-
import urllib2
import json
url = '....'
data = json.load(urllib2.urlopen(url))
a = u'\u0391\u0391\u039b\u0395\u039d'
print a
ΑΑΛΕΝ
print [a]
[u'\u0391\u0391\u039b\u0395\u039d']
有什么想法为什么第二次不显示为第一次吗?
最佳答案
print
对参数隐式调用 str
,但对于列表,str
对所有参数调用 repr
内部元素。例如:
>>> class Foo(object):
... def __str__(self):
... return 'world'
... def __repr__(self):
... return 'hello'
...
>>> f = Foo()
>>> print repr(f)
hello
>>> print f
world
>>> print [f]
[hello]
关于python - 为什么Python中的字符串在列表内部和外部显示不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22419048/