[解決済み】*args と **kwargs の意味は何ですか?[重複しています]
2022-04-03 18:01:49
質問
具体的にどのような
*args
と
**kwargs
というのは?
Pythonのドキュメントによると、見たところ、引数のタプルを渡しているようです。
def foo(hello, *args):
print hello
for each in args:
print each
if __name__ == '__main__':
foo("LOVE", ["lol", "lololol"])
これがプリントアウトされます。
LOVE
['lol', 'lololol']
効果的な使い方は?
どのように解決するのですか?
パッティング
*args
または
**kwargs
を関数定義の引数リストの最後の項目として使用すると、その関数が任意の数の引数やキーワード引数を受け入れることができるようになります。
例えば、引数をいくつ与えても、その引数の合計を返すような関数を書きたい場合は、次のように書くことができます。
def my_sum(*args):
return sum(args)
オブジェクト指向プログラミングでは、関数をオーバーライドするときに、ユーザーが渡した引数で元の関数を呼び出すという使い方が一般的でしょう。
実際に呼び出す必要はありません
args
と
kwargs
というのは、単なる慣習に過ぎません。それは
*
と
**
というのがあって、それが魔法をかける。
Pythonの公式ドキュメントには をより詳しく見てみましょう。 .
関連
-
python string splicing.join()とsplitting.split()の説明
-
Pythonを使って簡単なzipファイルの解凍パスワードを手作業で解く
-
[解決済み】Python regex AttributeError: 'NoneType' オブジェクトに 'group' 属性がない。
-
[解決済み】ImportError: PILという名前のモジュールがない
-
[解決済み] staticmethodとclassmethodの違いについて
-
[解決済み] Pythonのリストメソッドであるappendとextendの違いは何ですか?
-
[解決済み] __init__.py は何のためにあるのですか?
-
[解決済み] パラメータに**(ダブルスター/アスタリスク)、*(スター/アスタリスク)がありますが、これはどういう意味ですか?
-
[解決済み】if __name__ == "__main__": は何をするのでしょうか?
-
[解決済み】__str__と__repr__の違いは何ですか?
最新
-
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 implement mysql add delete check change サンプルコード
-
Evidentlyを用いたPythonデータマイニングによる機械学習モデルダッシュボードの作成
-
PythonでECDSAを実装する方法 知っていますか?
-
[解決済み】Django: ImproperlyConfigured: SECRET_KEY 設定は空であってはならない
-
[解決済み】Pythonでgoogle APIのJSONコードを読み込むとエラーになる件
-
[解決済み】LogisticRegression: Pythonでsklearnを使用して、未知のラベルタイプ: '連続'を使用しています。
-
[解決済み】IndexError: invalid index to scalar variableを修正する方法
-
[解決済み】cアンダースコア式`c_`は、具体的に何をするのですか?
-
[解決済み】ValueError: xとyは同じサイズでなければならない
-
[解決済み] パラメータに**(ダブルスター/アスタリスク)、*(スター/アスタリスク)がありますが、これはどういう意味ですか?