python - 检查特定python模块的实例
问题描述
在为我的 API 编写测试时,我发现我不太明白这一点。
r
是来自 API 调用的响应。
为什么会这样True
:
isinstance(r, requests.Response)
为什么会这样False
:
isinstance(r.__class__, requests.models.Response)
鉴于
r.__class__ == requests.models.Response
解决方案
isinstance(r, requests.Response)
检查是否r
是一个Response
或子类,它显然是。
isinstance(r.__class__, requests.models.Response)
检查是否Response
是 a Response
,显然不是:Response
is a type
。
您对第二次检查的意思可能是issubclass(type(r), requests.model.Response)
. 就个人而言,我更喜欢在这些情况下使用type
to __class__
,主要是因为我有一种非理性的恐惧,害怕__class__
以某种方式被错误的事物束缚,或者无法使用。
推荐阅读
- java - 测量 Java 线程池的任务队列中任务的最大内存使用量
- python - 根据变量字段分组,然后在python中重置计数器(cumcount)
- mysql - 如何在此查询中求和产品价格
- progressive-web-apps - 渐进式 Web 应用程序是离线混合/原生应用程序的可行替代方案吗?
- kotlin - Kotlin 字符串到 Int 或零(默认值)
- powershell - 通过PowerShell使用uninstallstring卸载程序
- c# - 从数据库中获取日期时间并将其拆分
- python - 在 Django Admin 上的 changelist_view 中修改查询集
- powershell - 仅当没有用户远程登录时从 Job 启动 MSTSC/RDP
- javascript - 如何使用 vue.js 从 Promise 中的方法更新数据值?