类字符串表示除了str,unicode等内建字符串类外还包括用户自己编写的str,unicode的子类,用户自定的行为表现类似于字符串的类型

使用内建函数isinstance判断:

1 >>> user = 'uzero'
2 >>> isinstance(user, basestring)
3 True

basestring是str和unicode共同的基类,所以这个测试对str,unicode都是有效的.当对用户自定义的字符串类型进行测试时,只要自定义的字符串类型是str,unicode或者basestring的子类,测试同样是有效的,但是对用户自定的行为表现类似于字符串的类型,测试会无效,例如python标准库中的UserString对象是非常明显的字符串类型但它不是str,unicode或者basestring的子类。这种情况可以检查对象的行为是否像一个字符串,比如字符串的拼接特性:

1 def isStringLike(anobj):
2     try:
3         anobj + ''
4     except:
5         return False
6     else:
7         return True

更进一步,利用字符可以转换大小的特性:

1 def isStringLike(anobj):
2     try:
3         anobj.lower() + ''
4     except:
5         return False
6     else:
7         return True

这样就可保证万无一失了

转载于:https://www.cnblogs.com/uzero/archive/2013/01/22/2871376.html

文本处理 - 测试一个对象是否是类字符串相关推荐

  1. 《Python CookBook2》 第一章 文本 - 测试一个对象是否是类字符串 字符串对齐

    测试一个对象是否是类字符串 任务 有时候需要测试一个对象,尤其是当你在写一个函数或者方法的时候,经常需要测试传入的参数是否是一个字符串. 解决方案 利用内建的isinstance 和basestrin ...

  2. python判断_轻松python文本专题-判断对象里面是否是类字符串(推荐使用isinstance(obj,str))...

    场景: 判断对象里面是否是类字符串 一般立刻会想到使用type()来实现 >>> def isExactlyAString(obj): return type(obj) is typ ...

  3. Java 开发中常用的 4 种加密方法。MD5加密工具类测试 base64加密工具类测试 SHA加密工具类测试 BCrypt加密工具类测试

    一.工具类 1, md5加密工具类 2, base64加密工具类 3, Bcrypt工具类 二.加密测试 MD5加密测试 base64加密测试 SHA加密测试 BCrypt加密测试 一.工具类 1, ...

  4. WEB渗透测试知识梳理-注入类-1-SQL注入-Mysql

    渗透测试知识梳理-注入类-1-SQL注入-Mysql 1. SQL注入 1.1 漏洞简介 1.2 漏洞危害 1.3 漏洞详情 1.3.1 MySQL注入 1.3.1.1 报错注入 1. floor() ...

  5. 成功解决pywintypes.com_error: (-2147221005, '无效的类字符串', None, None)

    成功解决pywintypes.com_error: (-2147221005, '无效的类字符串', None, None) 目录 解决问题 解决思路 解决方法 解决问题 pywintypes.com ...

  6. DCMTK:TLS测试DcmSCP和DcmSCPPool类

    DCMTK:TLS测试DcmSCP和DcmSCPPool类 TLS测试DcmSCP和DcmSCPPool类 TLS测试DcmSCP和DcmSCPPool类 #include "dcmtk/c ...

  7. DCMTK:测试DcmSCP和DcmSCU类

    DCMTK:测试DcmSCP和DcmSCU类 测试DcmSCP和DcmSCU类 测试DcmSCP和DcmSCU类 #include "dcmtk/config/osconfig.h" ...

  8. DCMTK:测试衍生图像FG类

    DCMTK:测试衍生图像FG类 测试衍生图像FG类 测试衍生图像FG类 #include "dcmtk/config/osconfig.h" #include "dcmt ...

  9. java getname_Java文件类字符串getName()方法(带示例)

    java getname 文件类字符串getName() (File Class String getName()) This method is available in package java. ...

  10. Java文件类字符串getAbsolutePath()方法(带示例)

    文件类字符串getAbsolutePath() (File Class String getAbsolutePath()) This method is available in package ja ...

最新文章

  1. springmvc整合mybatis框架源码 bootstrap html5 mysql oracle maven SSM
  2. 发布Apworks应用开发框架(Alpha版本)
  3. Android手机rom分区以及sd卡总结
  4. php光标添加,JS在可编辑的div中的光标位置插入内容的方法_javascript技巧
  5. ActiveMQ的签收方式
  6. yelee主题博客四周变透明
  7. LeetCode 题 - 35. 搜索插入位置
  8. redis中zset底层实现原理
  9. 吸电流、拉电流、灌电流、上拉电阻、下拉电阻、高阻态等基础知识普及
  10. android设置window背景颜色,Android WindowManager 背景暗化
  11. Eclipse使用问题
  12. SQL Server 监视(Monitoring)体系架构
  13. 关于汉王 唐人笔手写板 打开后间歇性手写程序闪退以及屏幕锁屏或者关闭后手写板自动usb拔出问题
  14. linux usb转串口驱动报错,USB转串口驱动编译出错
  15. jwplayer使用方法
  16. 在iOS9上不能分享至微信,提示没有安装微信客户端
  17. word上怎么把图片拼接到一起_word怎么将图片合并
  18. 为什么中国人少有人得到诺贝尔奖呢?
  19. ORACLE百例试炼五
  20. 魔力宝贝手游版 服务器维护,魔力宝贝手游10月24日更新维护公告 各大更新内容...

热门文章

  1. Quartz 触发器、过期触发策略 、排它日历、数据持久化
  2. mysql56允许远程连接_mysql允许远程连接的方法
  3. 阶段3 3.SpringMVC·_07.SSM整合案例_03ssm整合之编写Spring框架
  4. 实现gabor filter的滤波
  5. Silverlight中的ControlTemplate
  6. HP 招聘性能测试PM 北京/上海 长期招聘
  7. UML Use Case之间的各种关系
  8. 简单使用Idea创建三层架构项目和数据库连接(使用原生ajax进行访问+ajax)
  9. (好文章搬个砖)MySQL索引背后的数据结构及算法原理
  10. C# -- 使用FileInfo获取文件信息