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.