問題タブ [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 - なぜkwargsを受け入れて使用しないのですか?
今日、Django のソース コードを見ていて、次のことに気付きました。
コンストラクターで kwargs を受け入れるのに、それらに対して何もしないのはなぜですか?
python - func(*tuple) はタプルを「分散」しますが、func(**dictionary) はどのように機能しますか?
簡単なタプル、辞書、関数を作成しましょう。
以下は*
、引数としてタプルと辞書の前に何をするかを示しています。
**
では、引数の前に試してみましょう。
わかりました、** 辞書が引数として使用されている場合にのみ機能するようです。それでは、辞書を引いてみましょう。
何?エラーを生成しないこの最後のケースの例を誰かに見せてもらえますか?
python - **kwargs が python ConfigObj で補間しないのはなぜですか?
テンプレートスタイルの補間を使用してPythonでConfigObjを使用しています。** を介して構成辞書をアンラップしても、補間が行われないようです。これは機能ですか、それともバグですか? 良い回避策はありますか?
2 行目は/test/directory
. **kwargs で補間が機能しないのはなぜですか?
python - Python マルチプロセッシング キーワード引数
関数呼び出しでキーワード引数を使用する簡単な例を次に示します。特にない。
期待どおりに印刷されます:
同じスタイルのキーワード引数をマルチプロセッシング タスクに渡そうとしていますが、args リストで ** を使用すると構文エラーになります。私の関数 stretch() は、2 つの位置引数と n 個のキーワード引数を取ることを知っています。
multiprocessing.Process にキーワード引数を渡すことは可能ですか? もしそうなら、どのように?そうでない場合、なぜですか?
python - メソッド定義の引数のデフォルト値を介して同じオブジェクトを参照する異なるクラス インスタンスのメンバー
Python のドキュメントには、キーワード引数 (用語集) について次のように記載されています。
...変数名は、値が割り当てられる関数内のローカル名を指定します...
したがって、明示的に述べられていない限り、クラスの異なるインスタンスは本当に異なると思いました。ただし、次のコードは、クラスの両方のインスタンスの 1 つのメンバー変数を /same/ オブジェクトに参照します。明らかに、指定されたデフォルト値を介して (メソッドのキーワード辞書がクラス変数 (「静的」) であるかのように) 参照します。メンバーを変更するとすべて問題ありませんが、何らかの理由でそれが起こらない場合:
- コードがそのように動作する正当な理由があるのだろうかと思います。なぜなら、それは私がまったく期待するものではないからです (コードと出力のマーキングを参照してください)。
問題に対する適切な解決策があるかどうか (「コピー」を使用する以外に)。ありがとう。
/li>
出力:
python - 最初に設定されたよりも多くのkwargsを関数に渡す
関数呼び出しで要求されるよりも多くのkwargsを関数に送信する方法はありますか?
例:
mybigdict
エラーなしで 渡す方法はありますか?'c'
私の理想的な世界では決して使用されmydef
ず、無視されるだけです。
おかげで、私の掘り出し物は私が探しているものを思い付いていません。
編集:コードを少し修正しました。これmydef(a, b, **kwargs)
は私が探していたフォームでしたが、inspect関数argsは私にとっては新しいものであり、間違いなく私のツールボックスにとっては何かでした。みんな、ありがとう!
python - Pythonはキーワード引数を受け入れません
一部のブリチンもキーワード引数を受け入れないように、コードがキーワード引数を受け入れないようにしようとしていますが、それができません。ここに、私の限られた理解による私の考えがあります:-
出力:
さて、次のように実行すると(これは関数定義でキーワード引数であるとは想定されていませんが、関数呼び出しを見ると、キーワード引数を受け入れる関数を呼び出す場合と同じ構文のようです) :
出力:
2つの質問があります:-
- 関数定義ではなく関数呼び出しを見ると
somefunc(b=10,a=20)
、これは通常の引数のみを受け入れる関数またはキーワード引数を受け入れる関数のいずれかであるように見えます。通訳は2つをどのように区別しますか? - 多くのビルトインのようにキーワード引数を受け入れないように、関数をフォームに変換することは可能ですか?
なぜ私はこれをしたいのですか? 私はこれができるかどうかをチェックしているだけなので、Pythonを深く理解する上で何も見逃すことはありません。Pythonがそれを許可するかどうかはわかりません。
python - ** kwargsのキーが存在するかどうかを確認する方法は?
Python3.2.3。ここにリストされているいくつかのアイデアは、通常の変数で機能しますが、** kwargsはさまざまなルールで動作するようです...では、なぜこれが機能しないのか、** kwargsのキーが存在するかどうかを確認するにはどうすればよいですか?
これもうまくいくはずだと思いますが、うまくいきません-
kwargsは反復可能であるため、推測していますか?特定のキーが存在するかどうかを確認するためだけに、それを繰り返す必要がありますか?
python - Python 実行可能ファイルの kwargs
コマンドラインから呼び出して、python 2.6 でキーワード引数を使用できるプログラムを作成しようとしています。これまでのところ、私は試しました:
コマンドラインからこれを実行しようとすると./test.py
、プログラムは期待どおりに 5 を出力します。使用方法はあります./test.py foo=6
か?キーワード引数を保持したい。
単純な質問のように思えますが、これに関する適切な情報源が見つかりませんでした。