Reputation: 90
What is the proper way to annotate a type function returns in this code?
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
Should be Response
imported for that, or TypeVar
should be used?
Upvotes: 3
Views: 988
Reputation: 1986
I think you should import Response
and use it. Creating TypeVar
complicates typing for no good reason:
Response
used somewhere (and thus imported), you wouldn't even think about not using it for the type hint.Response
class there, you'll be stuck with TypeVar
not matching actual Response
sResponse
disguised as a custom TypeVar
would make code more confusing.Upvotes: 2
Reputation: 1
Do you want this?
from requests import Request, Session, Response
def make_request(method: str, url: str) -> Response : # Response object will be returned
request = Request(method, url).prepare()
session = Session()
r = session.send(request)
return r
Upvotes: 0