与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即使在超时后也能在EJB3上完成工作   将MS SQL Server 2008 datetime2转换为Java   如何编写受JDK bug影响的Java单元测试   安卓获取java中资源URL的路径   java对8.2.0及以上版本中自定义选项卡的说明   java是否可以使用ArrayList<Comparable>获取索引的值?   java日期对象问题   java使用文件中的json数据填充hashmap   Java中POJO类的JSON   java如何向字符串数组添加替换元素   Java变量初始化的不同处理方式?   java如何在一个相等条件中添加多个条件?   java如何借助Nutshell Api在自定义字段的基础上进行搜索?   Mac OSX Mavericks(10.9.1)上Xerial的JDBC SQLITE出现java SQLITE_NOTADB错误   从ArrayList删除对象时java应用程序崩溃   java理解在顶点缓冲区中交错属性时的跨步和偏移   如何使用Hadoop Mapreduce运行非java程序(首选C++/Matlab)   java无法解析配置的所有工件:classpath'>无法解析com。安卓工具。版本:gradle:4.1.0