我知道有人在我创作时解释了为什么
Python 2.7 中的相等 unicode 字符串
它们不指向内存中的同一位置
与“普通”字符串一样
>>> a1 = 'a'
>>> a2 = 'a'
>>> a1 is a2
True
好吧,这正是我所期望的,但是
>>> ua1 = u'a'
>>> ua2 = u'a'
>>> ua1 is ua2
False
为什么?如何?
我认为常规字符串是被保留的,但 unicode 字符串不是。这个简单的测试似乎支持我的理论(Python 2.6.6):
>>> intern("string")
'string'
>>> intern(u"unicode string")
Traceback (most recent call last):
File "<pyshell#18>", line 1, in <module>
intern(u"unicode string")
TypeError: intern() argument 1 must be string, not unicode
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)