Astropy: deprecated_renamed_argument 对于删除的关键字失败(未解决:当它被称为位置参数时)

创建于 2020-01-31  ·  3评论  ·  资料来源: astropy/astropy

更新:当下面的函数被称为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
Bug utils

所有3条评论

哦,哇,这是一团糟。

我会尽量在周末照顾它。

我可能有解决办法。 请参阅#9981。

我想知道有多少下游包受到影响。 鉴于到目前为止我们还没有收到错误报告,这种用法可能并不常见。

谢谢@pllim。 似乎我的周末正在溜走,没有产生多少代码 😥

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

pllim picture pllim  ·  3评论

dhomeier picture dhomeier  ·  3评论

pllim picture pllim  ·  3评论

Amarchuk picture Amarchuk  ·  3评论

JWDobken picture JWDobken  ·  3评论