【发布时间】:2010-11-21 03:42:27
【问题描述】:
如何检查 Python 对象是否为字符串(常规或 Unicode)?
【问题讨论】:
-
Jason 指的是鸭子打字(如果它像鸭子一样嘎嘎叫,它可能是鸭子)。在 Python 中,您经常在任何类似字符串的对象上“让您的代码工作”,而无需测试它是字符串还是字符串子类。欲了解更多信息,请参阅:docs.python.org/glossary.html#term-duck-typing
-
这就是我喜欢 SO 的原因。我通常会问一个问题,但没有人回答,人们告诉我无论如何我都不应该这样做,为什么,我成长为一名程序员。 =)
-
+1:仅仅因为很少需要答案,并不意味着问题无效。虽然,我认为在这里提出警告很好,但我认为不值得将这个问题降级。
-
这可能是 Python 中类型检查最合理的用法。字符串是可迭代的,因此以任何其他方式将它们与列表区分开来是个坏主意。
-
在某些情况下肯定有必要将字符串与其他可迭代对象区分开来。例如,查看 pprint 模块中 PrettyPrinter 的源代码。
标签: python string types compatibility