如何输入类似于 TS `as` 的 python API 响应? [重复]

问题描述 投票:0回答:1

我正在使用一个将其响应键入为

的库

-> (Unknown | Response | Any)

如果我知道/期望响应是一个

Response
并且它有一个
id
字段, 我怎样才能把它投射到我的代码中?

Typescript 为此提供了一个

as <type>
运算符。

        response = self.client.get_user(username=username)
        user_id = response.data['id']
Cannot access member "data" for type "Response"
  Member "data" is unknownPylancereportGeneralTypeIssues

除了

typing.cast
之外,我正在寻找一种简单的方法来定义响应的形状,而无需添加完整的类层次结构来键入从第三方API返回的数据块。 类似于打字稿中的
type
甚至
interface

似乎没有键入 Response 对象/类。

python mypy python-typing
1个回答
1
投票

你在找

typing.cast

response = cast(Response, self.client.get_user(username=username))
user_id = response.data['id']
© www.soinside.com 2019 - 2024. All rights reserved.