gpt4 book ai didi

python - 在哪里可以找到未完全实现的 Python-Future 导入的文档?

转载 作者:行者123 更新时间:2023-11-28 22:21:23 29 4
gpt4 key购买 nike

我最近发现 future 中可用的 round 函数不支持负数舍入,这与内置的 round 不兼容:

>>> from builtins import round
>>> round(4781, -2)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/future/builtins/newround.py", line 33, in newround
raise NotImplementedError('negative ndigits not supported yet')
NotImplementedError: negative ndigits not supported yet

这在一定程度上限制了 Python-Future 的用途快速入门建议:

The easiest way is to start each new module with these lines:

from __future__ import (absolute_import, division,
print_function, unicode_literals)
from builtins import *

Then write standard Python 3 code.

我在任何地方都找不到关于 round 不兼容性的文档,想知道还有哪些其他函数或类型的行为不同或具有未实现的功能。还有哪些陷阱?这些不兼容性记录在哪里?

最佳答案

没有这样的列表。

Python-Future 项目完全独立于 Python 项目,因此您确实不会在官方 Python 文档中列出的 Python-Future 项目中发现任何实现差距。

不幸的是 reference documentation for round()没有提到实现中的这一差距。对 newround 模块文档字符串的倾斜引用也没有帮助,因为 it too is very scant on details .

你必须向 Python-Future 项目询问这样的列表,你可以尝试 file an issue要求他们列出这样的 list 。

在此期间,您可以 search for NotImplementedError references在源代码中。这将产生一个不完整的列表,因为在实现中可能存在一些缺陷,而这些缺陷并没有被引发该异常所涵盖。


就个人而言,我建议不要使用 Python-Future;该项目在不考虑适用性或性能的情况下向后移植所有内容的理念不适合生产代码;例如,他们的 super() implementation必须依靠对类 MRO 上所有属性的全面扫描来定位相关类以用作第一个参数,这使得它变得缓慢而繁琐。仅仅因为您可以以某种方式使其工作并不意味着您应该这样做。

他们的实现不完整,没有明确指出差距在哪里,这只会让我更难改变我对该项目的看法。

关于python - 在哪里可以找到未完全实现的 Python-Future 导入的文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48360030/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com