【发布时间】:2021-09-28 23:46:51
【问题描述】:
我想做类似的事情
from typing import Callable
def a(foo: Callable[[int], None]):
foo(b=5)
此代码有效,但会发出警告Unexpected argument。
定义为
def a(foo: Callable[[int], None]):
foo(5)
按预期工作,没有警告。
如何将预期的参数作为 kwarg 传递给函数,而类型检查器不会生我的气?
【问题讨论】:
-
这更多是
mypy(或任何向您发出警告的工具)的问题,而不是类型提示的问题。 -
将类型提示视为函数的数学属性,而不是反映 Python 中特定函数实现的语义的东西。
foo接受一个整数参数;您是否提供参数作为位置参数或关键字参数对于静态类型检查无关紧要。
标签: python types type-hinting