python - 如何键入函数返回另一个函数的提示?
问题描述
我有以下两个功能:
def payment_failed(user: User, charge: Charge, type: str) -> HttpResponse:
# ... do something here
return HttpResponse(status=200)
def payment_canceled(*args):
return payment_failed(*args)
我也想对payment_canceled
函数使用类型提示,但我不确定哪个版本是正确的。
版本 1:
def payment_canceled(*args) -> payment_failed:
return payment_failed(*args)
版本 2:
def payment_canceled(*args) -> HttpResponse:
return payment_failed(*args)
解决方案
payment_canceled
不返回另一个函数;它调用payment_failed
并返回它返回的任何内容。第二个是正确的:
def payment_canceled(*args) -> HttpResponse:
return payment_failed(*args)
如果您真的要返回一个函数,那么从模块中返回是合适的。Callable
typing
from typing import Callable
def payment_canceled(*args) -> Callable[Tuple[Any],HttpResponse]:
return payment_failed
推荐阅读
- c# - 什么是共享令牌缓存凭据身份验证方法?
- javascript - 按特定内容然后按时间戳对 MongoDB 文档进行排序
- ios - WKWebView 是否支持 HTML5 离线应用缓存?
- c# - 从 BluetoothDevice 获取 ClassOfDevice
- angular - Promise catch 不拦截异常
- asp.net-mvc - 如何从 foreach 传递值以创建新的模型列表?
- r - R:比数据整理 2 个数据帧更简单的方法
- javascript - Edge 的 Msal 问题:哈希不包含状态
- sql - 如何根据 Oracle SQL 中的某些条件将列拆分为 2?
- python - 是否可以在没有管道的情况下在以后的分析中使用预处理 X 和 y 的管道?