Python 判断一个对象是不是类字符串

1.使用内建方法
def isAString(var):
    return isinstance(var, basestring)

示例:

>>> def isAString(var):
...     return isinstance(var, basestring)
...
>>> isAString('a')
True
>>> isAString(1)
False

 但是这个方法不能测试UserString, 如果需要支持UserString, 可以直接检查这个对象能不能执行真正的字符串的操作.

2.使用duck typing 方法

def isStringLike(var):
    try: var + ''
    except: return False
    else: return True

示例:

>>> def isStringLike(var):
...     try: var + ''
...     except: return False
...     else: return True
...
>>> isStringLike('a')
True
>>> isStringLike(1)
False

适用于UserString,str,unicode 以及其他的类字符串.

这就是所谓的鸭子判断法: 如果它走路像鸭子, 叫起来也像鸭子,  那对我们(的需求)来说它就是鸭子.

当然我们可以检查更详细的鸭子特征:

try: anobj.lower( ) + anobj + ''

 

转载于:https://my.oschina.net/jeffyu/blog/57064

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值