[解決済み] 関数に渡された引数のリスト/タプル/ディクショ ンを取得するには?
2023-02-03 22:16:30
質問
次のような関数がある。
def foo(a, b, c):
pass
渡された引数のリスト/タプル/ディクテ/その他をどのように取得するのでしょうか。 自分で構造を構築することなく ?
具体的には、私はPython版のJavaScriptの
arguments
キーワードやPHPの
func_get_args()
メソッドを使用します。
私が
ではない
を使った解決策を探しています。
*args
または
**kwargs
私は関数定義で引数の名前を指定する必要がありますが、関数内ではリストまたはディクスタイルの構造でそれらを扱いたいと思います。
どのように解決するのですか?
この場合
locals()
を使うと、このように関数内のローカル変数のディクショ ンを取得することができます。
def foo(a, b, c):
print locals()
>>> foo(1, 2, 3)
{'a': 1, 'c': 3, 'b': 2}
しかし,これは少しハチャメチャです.
locals()
は関数に渡された引数だけでなく、ローカルスコープのすべての変数を返すので、関数の一番上でこれを呼ばないと、結果は必要以上の情報を含んでしまうかもしれません。
def foo(a, b, c):
x = 4
y = 5
print locals()
>>> foo(1, 2, 3)
{'y': 5, 'x': 4, 'c': 3, 'b': 2, 'a': 1}
私はむしろ、他の回答で提案されたように、関数の先頭で必要な変数のdictまたはリストを構築することをお勧めします。 その方がより明確で、より明確な方法でコードの意図を伝えることができると思います。
関連
-
[解決済み] リスト内のアイテムのインデックスを検索する
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] Pythonのリストメソッドであるappendとextendの違いは何ですか?
-
[解決済み] リストの最後の要素を取得する方法
-
[解決済み] 辞書のリストを辞書の値でソートするにはどうしたらいいですか?
-
[解決済み] リストの要素数を取得する方法
-
[解決済み] メソッドと関数の違いは何ですか?
-
[解決済み] リスト項目の出現回数を数えるにはどうしたらいいですか?
-
[解決済み】関数の前のエクスクラメーションマークは何をするのですか?
-
[解決済み] Pythonでコード行間にかかる時間を測定するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Python関数内のパラメータ名一覧の取得 [重複]。
-
[解決済み】メソッドのパラメータ名を取得する方法は?
-
[解決済み] Pythonで0xを使わずにhex()を使うには?
-
[解決済み] PyMongoで.sortを使用する
-
[解決済み] tensorflowのCPUのみのインストールでダイナミックライブラリ 'cudart64_101.dll' を読み込めなかった
-
[解決済み] matplotlib でプロットの軸、目盛、ラベルの色を変更する方法
-
[解決済み] Pandasのデータフレーム内の文字列を'date'データ型に変換するにはどうしたらいいですか?
-
[解決済み] Python Empty Generator 関数
-
[解決済み] Django filter queryset __in for *every* item in list
-
[解決済み] Pythonでリストが空かどうかをチェックする方法は?重複