UPDATE: Es ist immer noch ungelöst, wenn die folgende Funktion als myfunc(1, 200)
aufgerufen wird.
deprecated_renamed_argument
ermöglicht es, ein entferntes Schlüsselwortargument abzulehnen. Dabei kann das veraltete Schlüsselwort jedoch nicht festgelegt werden. Es erhält immer seinen Standardwert:
>>> 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]
Der Wert des veralteten Schlüsselworts kann vom Standardwert geändert werden, wenn er als Positionsargument verwendet wird, aber in diesem Fall wird die veraltete Warnung nicht ausgegeben:
>>> myfunc(1, 200)
1 200
Oh, wow, das ist ein Durcheinander.
Ich werde versuchen, mich am Wochenende darum zu kümmern.
Ich habe vielleicht eine Lösung. Siehe #9981.
Ich frage mich, wie viele nachgelagerte Pakete betroffen sind. Da wir bisher keine Fehlerberichte erhalten haben, ist diese Verwendung wahrscheinlich ungewöhnlich.
danke @pllim. Es scheint, dass meine Wochenenden mit nicht viel produziertem Code vergehen