与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 Swing scroll JScrollPane   使用springrest控制器的java   为什么使用Java客户端传输的数据在Apache Pulsar上显示为编码?   java当数组位于arraylist中时,如何访问它?   用于处理{Item1}的正则表达式代码。将项2放入数组或列表中   java mouseListener让我的JList表现得很奇怪   java SecurityContextHolder尽管成功登录,但仍承载匿名用户   java如何在selenium自动化中使用captcha   eclipse如何在java中检查按钮是否可单击,SeleniumWebDriver。ps:检查是否可点击,不要等到它可点击   java Android存在读取\调用\日志权限问题   java按这种方式进行取整(保持小数)   Java中检查布尔数组的最快方法   java将列表中的元素替换为其他元素   JavaFX中的javaunicode补充平面   java如何使用hashmap显示图像url