Astropy: 削除されたキーワードに対して deprecated_renamed_argument が失敗する (解決されていない: 位置引数として呼び出された場合)

作成日 2020年01月31日  ·  3コメント  ·  ソース: astropy/astropy

更新:以下の関数がmyfunc(1, 200)として呼び出される場合、それはまだ解決されてい


deprecated_renamed_argumentにより、削除されたキーワード引数を非推奨にすることができます。 ただし、その場合、廃止予定のキーワードを設定することはできません。 常にデフォルト値が与えられます:

>>> 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 評価