更新:当下面的函数被称为myfunc(1, 200)
时,它仍然没有解决。
deprecated_renamed_argument
允许弃用已删除的关键字参数。 但是,这样做时,不能设置 deprecated 关键字。 它总是被赋予其默认值:
>>> from astropy.utils.decorators import deprecated_renamed_argument
>>> @deprecated_renamed_argument('b', None, '4.1')
>>> def myfunc(a, b=3):
>>> print(a, b)
>>> return
>>> myfunc(1, b=200)
1 3
WARNING: AstropyDeprecationWarning: "b" was deprecated in version 4.1 and will be removed in a future version. [warnings]
如果将弃用的关键字值用作位置参数,则可以从默认值更改它,但在这种情况下不会引发弃用警告:
>>> myfunc(1, 200)
1 200
哦,哇,这是一团糟。
我会尽量在周末照顾它。
我可能有解决办法。 请参阅#9981。
我想知道有多少下游包受到影响。 鉴于到目前为止我们还没有收到错误报告,这种用法可能并不常见。
谢谢@pllim。 似乎我的周末正在溜走,没有产生多少代码 😥