测试一个对象是否是类字符串

来源:互联网 发布:java 高级 面试题 编辑:程序博客网 时间:2024/05/20 12:48

1,    def isAString(anobj):                                               # 快速检查字符串或Unicode对象

             return isinstance(anobj, basestring)            # basestring是str和unicode类型的共同基类

2,    def isExactlyAString(anobj):                                 #此方法很糟,破坏了python强大力量源泉-----平滑的、基于签名的多态机制

             return type (anobj) is type('')

3,    def  isStringLike(anobj):                                       #可检查一个对象的行为是否真的像字符串一样

             try: anobj + ''                                                      #可检查更多细节如:try: anobj.lower() + anobj + ''                                   

             except: return False

             else: return True


isStringLike函数比isAString函数慢且复杂,但却适用于UserString(及其他类字符串的类型)实例,也适用于str和unicode.

0 0