有人可以解释第二行(unicode
是代码中定义的类吗?)
try:
unicode
_unicode = True
except NameError:
_unicode = False
答案 0 :(得分:4)
Python 2定义了unicode
type。 Python 3没有(str
扮演了这个角色)。因此,尝试在Python 3中使用名称unicode
将会引发NameError
exception。
换句话说,除了触发名称查找之外,在行上使用类型名称本身不会做任何事情。如果该名称查找失败,则表示该类型不可用:
$ python2.7 -c 'unicode'
$ python3.5 -c 'unicode'
Traceback (most recent call last):
File "<string>", line 1, in <module>
NameError: name 'unicode' is not defined