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
ATypeError
両方が起こると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
♪thearg_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
andsince
have to betuple
orlist
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
各パラメータに値がある.