首页 > Python > 如何检查对象是否属于给定类型,或者它是否继承自给定类型?

如何检查对象是否属于给定类型,或者它是否继承自给定类型?

上一篇 下一篇

如何检查对象是否属于给定类型,或者它是否继承自给定类型?

如何检查对象是否为类型?ostr


初学者经常错误地期望字符串已经是“一个数字”——要么期望 Python 3.x 输入转换类型,要么期望像“1”这样的字符串同时也是一个整数。对于这些问题,这是错误的规范。请仔细阅读问题,然后使用如何检查字符串是否表示数字(浮点数或整数)?,如何将输入读取为数字?和/或要求用户输入,直到他们给出适当的有效响应。

分割线

网友回答:

检查对象类型的 Python 方法是…不检查它。

由于 Python 鼓励鸭子类型,因此您应该按照自己想要的方式使用对象的方法。因此,如果您的函数正在寻找可写文件对象,请不要检查它是 的子类,只需尝试使用它的方法!try...exceptfile.write()

当然,有时这些漂亮的抽象会崩溃,这就是你所需要的。但请谨慎使用。isinstance(obj, cls)

分割线

网友回答:

用于检查 是 的实例还是 的任何子类:isinstanceostrstr

if isinstance(o, str):

要检查 的类型是否恰好是 ,不包括 str 的子类ostr

if type(o) is str:

有关相关信息,请参阅 Python 库参考中的内置函数。


在 Python 2 中检查字符串

对于 Python 2,这是检查是否为字符串的更好方法:o

if isinstance(o, basestring):

因为这也会捕获 Unicode 字符串。 不是 的子类;两者和 都是 的子类。在 Python 3 中,不再存在,因为字符串 () 和二进制数据 () 有严格的分离。unicodestrstrunicodebasestringbasestringstrbytes

或者,接受类元组。这将返回 if 是以下任何子类的任何子类的实例:isinstanceTrueo(str, unicode)

if isinstance(o, (str, unicode)):

分割线

网友回答:

isinstance(o, str)如果 是 或 的类型继承自 ,则将返回 。Trueostrstr

type(o) is str将返回当且仅当是 str。如果 的类型继承自 。TrueoFalseostr

模板简介:该模板名称为【如何检查对象是否属于给定类型,或者它是否继承自给定类型?】,大小是暂无信息,文档格式为.编程语言,推荐使用Sublime/Dreamweaver/HBuilder打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【Python】栏目查找您需要的精美模板。

相关搜索
  • 下载密码 lanrenmb
  • 下载次数 153次
  • 使用软件 Sublime/Dreamweaver/HBuilder
  • 文件格式 编程语言
  • 文件大小 暂无信息
  • 上传时间 02-22
  • 作者 网友投稿
  • 肖像权 人物画像及字体仅供参考
栏目分类 更多 >
热门推荐 更多 >
微信素材 微信公众平台 单页式简历模板 微信模板 自适应 微信图片 微信文章 html5 企业网站 响应式
您可能会喜欢的其他模板