检查特定python modu的实例

2024-04-24 12:27:10 发布

您现在位置:Python中文网/ 问答频道 /正文

在为我的API编写测试时,我发现了一个我不太理解的问题

r是来自API调用的响应

为什么是True

isinstance(r, requests.Response)

为什么这是False

isinstance(r.__class__, requests.models.Response)

鉴于此

r.__class__ == requests.models.Response

Tags: apifalsetruemodelsresponserequestsclassisinstance
1条回答
网友
1楼 · 发布于 2024-04-24 12:27:10

isinstance(r, requests.Response)检查r是否是Response或子类,显然是这样

isinstance(r.__class__, requests.models.Response)检查Response是否是Response,显然不是:Responsetype

第二次检查的意思可能是issubclass(type(r), requests.model.Response)。就我个人而言,在这种情况下,我更喜欢使用type而不是__class__,主要是因为我对__class__会以某种方式被束缚在错误的东西上,或者不可用有一种非理性的恐惧

相关问题 更多 >