2024-09-29 02:20:53 发布
网友
有什么区别:
isinstance(foo, types.StringType)
以及
isinstance(foo, basestring)
是吗?
对于Python2:basestring是str和unicode的基类,而types.StringType是str。如果要检查某个字符串,请使用basestring。如果您想检查某个东西是否是bytestring,请使用str并忘记types。
basestring
str
unicode
types.StringType
types
这东西在Python身上是完全不同的
types不再有StringTypestr总是unicodebasestring不再存在
StringType
所以如果你需要移植的话,尽量不要在代码中撒太多的东西
>>> import types >>> isinstance(u'ciao', types.StringType) False >>> isinstance(u'ciao', basestring) True >>>
在我看来,这是非常重要的区别;-)。
对于Python2:
basestring
是str
和unicode
的基类,而types.StringType
是str
。如果要检查某个字符串,请使用basestring
。如果您想检查某个东西是否是bytestring,请使用str
并忘记types
。这东西在Python身上是完全不同的
types
不再有StringType
str
总是unicodebasestring
不再存在所以如果你需要移植的话,尽量不要在代码中撒太多的东西
在我看来,这是非常重要的区别;-)。
相关问题 更多 >
编程相关推荐