Python检测一个对象是否为字符串类的方法
作者:junjie 时间:2022-11-02 15:25:24
目的
测试一个对象是否是字符串
方法
Python的字符串的基类是basestring,包括了str和unicode类型。一般可以采用以下方法:
def isAString(anobj):
return isinstance(anobj,basestring)
不过以上方法对于UserString类的实例,无能无力。
In [30]: b=UserString.UserString('abc')
In [31]: isAString(b)
Out[31]: False
In [32]: type(b)
Out[32]: <class 'UserString.UserString'>
Python中常用的鸭子判断法:如果它走路像鸭子,叫声像鸭子,就可以认为它是鸭子了。
def isStringLike(anobj):
try:
anobj.lower() + anobj + ' '
except:
return False
else:
return True
测试结果如下:
>>> import UserString
>>> b=UserString.UserString('abc')
>>> isStringLike(b)
True
>>>
关于风格
根据自己的语气去执行任务,在此过程中检测并处理由于不匹配产生的所有错误和异常。这种处理方式称为:
EAFP:It's easier to ask forgiveness than permission.
try/except是保证该风格的关键工具。
八卦一下,关于UserString类
对于2.X版本:Python文档中提到,如果不涉及到2.2以前的版本,请考虑直接使用str类型来代替UserString类型。
对于3.X版本:该模块已经移到collection模块中。
该类主要有两种方法:
class UserString.UserString([sequence])
具体使用前面已经举例,注意可以使用str()转化为str类型
class UserString.MutableString([sequence])
字符串也可以变哦!Look here:
a=UserString.MutableString('abc')
a[0]='c'
In [10]: a
Out[10]: 'cbc'
Python文档上有行黑体字,原来已经是弃用的方法,3.0就没有了:
Deprecated since version 2.6: The MutableString class has been removed in Python 3.0.
标签:Python,检测,对象,字符串


猜你喜欢
django数据库报错解决汇总:django.db.utils.OperationalError 1045,1049,2003
2024-01-28 00:19:57
python+matplotlib绘制简单的海豚(顶点和节点的操作)
2023-11-14 11:10:27

Flask蓝图学习教程
2023-03-02 04:19:15

Python实现堆排序的方法详解
2023-12-02 07:43:20

Python使用StringIO和BytesIO读写内存数据
2022-06-15 02:45:45
浅谈Python使用Bottle来提供一个简单的web服务
2021-08-30 13:03:19
javascript在myeclipse中报错的解决方法
2024-04-22 22:41:55
Mysql InnoDB多版本并发控制MVCC详解
2024-01-23 16:46:25

MySQL旧版本升级为新版本
2009-02-26 15:44:00
oracle数据库排序后如何获取第一条数据
2024-01-18 11:44:01

如何基于Python Matplotlib实现网格动画
2023-07-31 04:17:37

MySQL定时备份数据库操作示例
2024-01-13 09:34:24
详解python中递归函数
2022-04-17 19:40:55
Python PyInstaller库基本使用方法分析
2022-03-19 16:29:46

JavaScript中创建原子的方法总结
2023-06-29 12:22:14
PyQt5+requests实现车票查询工具
2023-11-01 02:12:25

对Pytorch 中的contiguous理解说明
2022-04-14 08:34:47

认识Javascript数组
2009-08-27 15:26:00
编写兼容IE和FireFox的脚本
2009-05-19 12:01:00
Python函数中的作用域规则详解
2023-02-14 04:32:28