deprecated_renamed_argument

astropy.utils.decorators.deprecated_renamed_argument(old_name, new_name, since, arg_in_kwargs=False, relax=False, pending=False, warning_type=<class 'astropy.utils.exceptions.AstropyDeprecationWarning'>, alternative='')[ソース]

ご利用はお勧めしておりません _renamed_ あるいは…。 _removed_ 関数パラメータ。

装飾者の仮説は old_name 関数署名から削除され、 new_name これを 同一位置 サインに入っています。もし…。 old_name パラメータは、装飾器がこのパラメータを捕捉し、廃棄警告を出して使用する。 new_name 論争する。

パラメータ
old_name文字列または文字列列

パラメータの古い名前。

new_name文字列または文字列またはなし

パラメータの新しい名前。これを None パラメータを削除するには、以下の操作を実行してください old_name 名前を変えるのではありません

since文字列または番号または文字列または番号列

古い論拠が捨てられたその発表。

arg_in_kwargsブール値またはブール値の順序は、オプションであります

このパラメータが名前パラメータでない場合(例えば、それは **kwargs )に設定する True それがそうです。そうでなければ装飾器は異常を投げます new_name 修飾関数の署名には見つからない.デフォルト値は False それがそうです。

relaxブール値またはブール値の順序は、オプションであります

もし False A TypeError 両方が起こると new_name そして old_name 全部出しました。もし…。 True の値 new_name 警告を発しましたデフォルト値は False それがそうです。

pendingブール値またはブール値の順序は、オプションであります

もし True これは廃棄警告を隠し、それに応じたものを無視するだろう。 relax パラメータ値。デフォルト値は False それがそうです。

warning_type警告

警告を発します。デフォルト値は AstropyDeprecationWarning それがそうです。

alternative文字列、オプション

ユーザは、使用されていないオブジェクトの代わりに、以下の場合に使用可能な代替関数またはクラス名を使用することができる new_name はいありません。この代替オプションが提供された場合、破棄警告は、このオプションをユーザに通知する。

賃上げをする
TypeError

関数署名に新しいパラメータ名が見つからず、arg_in_kwargsがfalseである場合、またはそれを使用して破棄する場合 *args - **kwargs -論争のように実行時に,関数呼び出し時にnew_nameとold_nameを同時に指定し,かつ“RELAX=FALSE”とすると,このようなエラーを引き起こす.

注意事項

装飾子は、関数に適用されるべきである name パラメータの属性は変更されたが,同じ論理を適用している.

警告

もし old_name リストやメタグループです new_name そして since また、同じエントリ数を有するリストまたはタプルでなければならない。 relax そして arg_in_kwarg 単一のブール値(すべてに適用される)であってもよく、同じエントリ数を有するリスト/タプルであってもよい。 new_name ちょっと待って

実例.

以下の例では破棄警告は表示されていない.

位置パラメータまたはキーワードパラメータを破棄するには、以下の操作を実行してください。

>>> from astropy.utils.decorators import deprecated_renamed_argument
>>> @deprecated_renamed_argument('sig', 'sigma', '1.0')
... def test(sigma):
...     return sigma

>>> test(2)
2
>>> test(sigma=2)
2
>>> test(sig=2)  
2

方法で捕獲されたパラメータは破棄する **kwargs ♪the arg_in_kwargs 設定しなければなりません

>>> @deprecated_renamed_argument('sig', 'sigma', '1.0',
...                             arg_in_kwargs=True)
... def test(**kwargs):
...     return kwargs['sigma']

>>> test(sigma=2)
2
>>> test(sig=2)  
2

デフォルトでは、newとoldキーワードを提供することで異常が発生します。警告が必要でしたら、 relax 論拠::

>>> @deprecated_renamed_argument('sig', 'sigma', '1.0', relax=True)
... def test(sigma):
...     return sigma

>>> test(sig=2)  
2

It is also possible to replace multiple arguments. The old_name, new_name and since have to be tuple or list and contain the same number of entries:

>>> @deprecated_renamed_argument(['a', 'b'], ['alpha', 'beta'],
...                              ['1.0', 1.2])
... def test(alpha, beta):
...     return alpha, beta

>>> test(a=2, b=3)  
(2, 3)

このような場合には arg_in_kwargs そして relax 単一の値(すべてのリネーミングに適用されるパラメータ)であってもよいし、 tuple あるいは…。 list 各パラメータに値がある.