問題タブ [keyword-argument]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Pythonで**kwargsを使用する適切な方法
**kwargs
デフォルト値に関して、Pythonで使用する適切な方法は何ですか?
kwargs
辞書を返しますが、デフォルト値を設定するための最良の方法は何ですか、それともありますか?辞書としてアクセスするだけでいいですか?get関数を使用しますか?
簡単な質問ですが、良いリソースを見つけることができません。人々は私が見たコードでそれをさまざまな方法で行い、何を使用するかを知るのは難しいです。
python - 渡されたすべてのパラメータをサポートしながらPython関数を置き換える方法
リストまたは辞書として渡されるすべてのパラメーターを使用して、元の関数の代わりに代替関数が呼び出されるように、任意の python 関数を装飾する方法を探しています。
より正確には、次のようなものです (f は任意の関数であり、replacement_f はリストと辞書を取ります):
ただし、replacement_f
内部を参照することはできませんnew_f
。また、変数引数リストと可変引数リストを使用しているため、別のパラメーターのデフォルトとしてreplacement_f
を渡すという標準的なトリックを使用することはできません。new_f
*args
**kwargs
元の関数が呼び出される場所は変更できず、位置パラメーターと名前付きパラメーターの両方を受け入れます。
あまり明確ではないのではないかと思いますが、必要に応じて明確にしていただければ幸いです。
ありがとう
python - Python で **kwargs を使用する理由 名前付き引数を使用することよりも、現実世界での利点は何ですか?
私は静的言語のバックグラウンドを持っています。名前付き引数よりも **kwargs を使用することの実際の利点を誰かが (理想的には例を通して) 説明できますか?
私には、関数呼び出しがあいまいになるだけのようです。ありがとう。
python - kwargs のリストを渡しますか?
簡潔にするために、kwargs のリストをメソッドに渡すことはできますか? これは私がやろうとしていることです:
python - **kwargs の目的と用途は何ですか?
**kwargs
Pythonでの用途は何ですか?
objects.filter
テーブルに対して を実行して**kwargs
引数 を渡すことができることは知っています。
時間のデルタを指定するためにこれを行うこともできますtimedelta(hours = time1)
か?
それはどのように正確に機能しますか?「アンパック」としてのクラスですか?のようにa,b=1,2
?
python - 関数内で kwargs を取得する
次のようなpython関数がある場合:
関数内からキーワードで渡された引数を特定する方法はありますか?
編集
なぜこれが必要なのかと尋ねる人には、本当の理由はありません。会話の中で話題になり、好奇心が勝りました.
c# - 名前付き引数:C#とPython
C#とPythonはどちらも名前付き引数を許可しているため、次のように記述できますfoo(bar:1)
。これは、特にオプションの引数と組み合わせると便利です。
私の質問は、C#とPythonの名前付き引数の違いは何ですか?私はどちらが「最良」であるかには興味がありませんが、違いがあるかどうか、そしてこれらの違いの背後にある考えられる動機に興味があります。
そして、他の言語のこの機能の実装(RubyまたはObjective-Cなど)との違いを誰かが知っているなら、それも興味深いかもしれません。
コミュニティウィキを作成するために編集
python - 2 つのキーワード引数の位置を入れ替えるとエラーがスローされる
奇妙な問題があります。Pythonでは、kwargsがargsに従うことを知っているので、それを確認しましたが、問題ではありません。問題はこれです:
罰金:
def __init__(self, sample_rate, label=u"", data=[] ):
TypeError:__init__()
キーワード引数 'data' の複数の値を取得しました:
def __init__(self, sample_rate, data=[], label=u""):
エラーをスローする呼び出し行は次のようになります。
完全なコード:
ありがとうございました!
python - **kwargs を自分自身にコピーするにはどうすればよいですか?
__init__
で定義されたキーワード**kwargs
がクラスに割り当てられるように定義できる方法はありますか?
たとえば、ValidationRule
クラスをで初期化する場合、可能なすべての kwarg に明示的に名前を付けることなくValidationRule(other='email')
、 の値をクラスに追加する必要があります。self.other