2024-04-24 12:27:10 发布
网友
在为我的API编写测试时,我发现了一个我不太理解的问题
r是来自API调用的响应
r
为什么是True:
True
isinstance(r, requests.Response)
为什么这是False:
False
isinstance(r.__class__, requests.models.Response)
鉴于此
r.__class__ == requests.models.Response
isinstance(r, requests.Response)检查r是否是Response或子类,显然是这样
Response
isinstance(r.__class__, requests.models.Response)检查Response是否是Response,显然不是:Response是type
type
第二次检查的意思可能是issubclass(type(r), requests.model.Response)。就我个人而言,在这种情况下,我更喜欢使用type而不是__class__,主要是因为我对__class__会以某种方式被束缚在错误的东西上,或者不可用有一种非理性的恐惧
issubclass(type(r), requests.model.Response)
__class__
isinstance(r, requests.Response)
检查r
是否是Response
或子类,显然是这样isinstance(r.__class__, requests.models.Response)
检查Response
是否是Response
,显然不是:Response
是type
第二次检查的意思可能是
issubclass(type(r), requests.model.Response)
。就我个人而言,在这种情况下,我更喜欢使用type
而不是__class__
,主要是因为我对__class__
会以某种方式被束缚在错误的东西上,或者不可用有一种非理性的恐惧相关问题 更多 >
编程相关推荐