试图确保“可调用”内置函数可用。

polyfill-callable的Python项目详细描述


试图确保callablebuiltin可用。

大多数python版本都有一个名为^{tt1}的本机内置函数$ 它检查参数是否为可调用对象。

这适用于所有现代支持的cpython版本(包括 无堆栈)、pypy、jython、ironpython、micropython、pypy.js、brython, 可能还有其他版本,但是有一小部分python版本 其中callable未实现。

这个模块背后的概念是它试图确保 callablebuiltin可用:

  • 在已经有callable可用的python版本上, 导入它不会破坏任何内容,只留下callable
  • 在没有callablebuiltin的版本上,在导入时 尝试注入等效的实现,以便代码调用 callable继续工作。
  • 如果您的python运行时没有callablebuiltin,并且此代码是 无法聚合填充,它将引发NotImplementedError

版本控制

这个库的版本号跟在SemVer 2.0.0 specification后面。

当前版本号在变量^{tt11}中可用$ 对于python模块来说,这是正常的。

安装

pip install polyfill-callable

用法

在运行任何其他使用 callable

importpolyfill_callable

如果您想优雅地捕获NotImplementedError。 处理缺少callable的问题。

try:importpolyfill_callableexceptNotImplementedErroraserror:# .. do something ..

限制

截至2018-02-17日,本模块只有一个callable polyfill用于:

  • 之前没有callable的早期cpython 3版本 它是在cpython 3.2中添加回来的。在那里我们可以用 ctypes,并使用 builtins

如果有其他python实现版本 有可能支持polyfill,最终可能会添加到这里。

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

推荐PyPI第三方库


热门话题
java在ArrayList中比较数字   java在Kotlin中使异步调用同步   让“Scala编程”junit示例在IntelliJ中工作的java问题   java Servlet侦听器未在ContextListener中设置属性   将Microsoft SQL Server数据库连接到我的Java项目   加载资源时出现java“需要注册工厂”异常   java如何使用POI检查excel中的重复记录?   java如何更改机器生成的代码   java如何确保重写的方法是同步的   用Spring编写Hibernate时的java XML奥秘   java管理mysql数据库中存储的用户权限   java如何运行。来自Javascript的jar方法   java我想在Web应用程序中进行身份验证&对桌面应用程序使用相同的凭据。我该怎么做?