与pyre类型检查器一起使用的类型系统扩展

pyre-extensions的Python项目详细描述


pyre扩展名

此模块定义了标准“类型”模块的扩展,这些模块受Pyre typechecker支持。

none_throws

函数对Optional的显式进行假设。函数将引发 如果通过None则出现断言错误,否则返回值。

参数规格

ParameterSpecifications是捕获可调用参数的一种特殊类型变量。 规范(在运行时和inspect库中称为argspecs)而不是类型,允许 转换给定可调用的返回类型的修饰符的类型。
例如:

from typing import TypeVar, Callable, List
from pyre_extensions import ParameterSpecification
Tparams = ParameterSpecification("Tparams")
Treturn = TypeVar("Treturn")
def unwrap(f: Callable[Tparams, List[Treturn]) -> Callable[Tparams, Treturn]: ...
@unwrap
def foo(x: int, y: str, z: bool = False) -> List[int]:
    return [1, 2, 3]

将foo修饰为返回int的可调用函数,但仍然具有相同的参数,包括 姓名和是否需要。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java调用Python函数作为TEID中的UDF   java Android。支持v4导入不工作   java如何影响具有静态属性的类   java如何在从glTexImage2D()分配后编辑纹理的像素颜色   javaspringboot+rediscache+@Cacheable适用于某些方法,而不适用于其他方法   java无法将动态Web模块方面从3.0更改为2.5   java如何在新选项卡中显示打印的文档?   java Google Cloud Endpoints API方法仅在删除用户参数时成功调用   java为什么我可以使用Stack<Double>但不能使用Stack<Double>?   java JDBC PreparedStatement似乎忽略了占位符   java如何设置JInternalFrame的标准图标化位置?   Java文件。copy()不复制文件   基于另一个类的java显示arraylist?   java Android Studio:错误:非法字符:'\u2028'   对象(Java)无法实例化类型映像?   javascript错误:飞行前响应的HTTP状态代码401无效   java确保泛型vararg参数具有相同的类型