basestring和types.StringType之间的python差异?

2024-09-29 02:20:53 发布

您现在位置:Python中文网/ 问答频道 /正文

有什么区别:

isinstance(foo, types.StringType)

以及

isinstance(foo, basestring)

是吗?


Tags: footypesisinstance区别basestringstringtype
3条回答

对于Python2:basestringstrunicode的基类,而types.StringTypestr。如果要检查某个字符串,请使用basestring。如果您想检查某个东西是否是bytestring,请使用str并忘记types

这东西在Python身上是完全不同的

types不再有StringType
str总是unicode
basestring不再存在

所以如果你需要移植的话,尽量不要在代码中撒太多的东西

>>> import types
>>> isinstance(u'ciao', types.StringType)
False
>>> isinstance(u'ciao', basestring)
True
>>> 

在我看来,这是非常重要的区别;-)。

相关问题 更多 >