从Python3.5版开始,您可以使用类型提示来指示函数所需的参数类型。我发现这些类型提示对于文档非常有价值,所以我尽量使用它们。它们也有助于提高效率,因此经常性地避免代码更改带来的bug。在
例如,在我的代码中,我有几个函数以零参数函数作为参数。E、 g.:
def onReady(f: Callable[[], Any]) -> None:
...
或者
^{pr2}$我想做的是创建如下类型别名(下面的代码不是有效的python):
Action[A] = Callable[[], A]
然后我可以缩短我对上述论点的类型:
def onReady(f: Action[Any]) -> None:
...
我知道我可以为特定实例创建类型别名,例如:
ActionBool = Callable[[], bool]
我知道NewType
在typing
模块中的存在,但这两个似乎都不能推广到高阶类型。在
我想我找到了最简单的解决办法。根据PEP 484,这是有效的:
相关问题 更多 >
编程相关推荐