我有以下两个功能:
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)
Run Code Online (Sandbox Code Playgroud)
我也想对payment_canceled函数使用类型提示,但我不确定哪个版本是正确的。
版本 1:
def payment_canceled(*args) -> payment_failed:
return payment_failed(*args)
Run Code Online (Sandbox Code Playgroud)
版本 2:
def payment_canceled(*args) -> HttpResponse:
return payment_failed(*args)
Run Code Online (Sandbox Code Playgroud)
payment_canceled 不返回另一个函数;它调用payment_failed并返回它返回的任何内容。第二个是正确的:
def payment_canceled(*args) -> HttpResponse:
return payment_failed(*args)
Run Code Online (Sandbox Code Playgroud)
如果你真的要返回一个函数,从模块中返回是合适的。Callabletyping
from typing import Callable
def payment_canceled(*args) -> Callable[Tuple[Any],HttpResponse]:
return payment_failed
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
117 次 |
| 最近记录: |