Python类型注释:注释返回库对象的函数的正确方法

丹尼斯·斯捷潘诺夫

在此代码中注释类型函数返回的正确方法是什么?

from requests import Request, Session

def make_request(method: str, url: str) -> ??? : # Response object will be returned
    request = Request(method, url).prepare()
    session = Session()
    r = session.send(request)
    return r

应该Response为此导入,还是TypeVar应该使用?

Š 级。

我认为您应该导入Response并使用它。TypeVar无缘无故地创建使打字变得复杂:

  1. 如果您的模块已经在Response某个地方使用过(并因此被导入),您甚至不会考虑不将它用于类型提示。
  2. 如果您稍后在此模块中引入另一个函数或其他任何内容,并且您需要Response在那里上课,那么您将遇到TypeVar不匹配实际Responses
  3. 如果您的模块是从另一个模块(甚至是第三方模块)导入的,则Response伪装成自定义的函数返回TypeVar会使代码更加混乱。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章