[python]*argsと*kwargsは何ですか?
4219 ワード
亲戚の弟が学校でコードを勉强し始めたと闻いて、よく闻きました.
今日突然先生は*argsと*kwargsを書いて、これは何ですかと聞きました.
それは可変因子を受け取った時に使う~と堂々と言っていましたが、可変因子が何なのかからいつ使うのかから、私も一瞬ためらうことがありました.
ソース:https://tenor.com/view/pedro-monkey-puppet-meme-awkward-gif-15268759
自信のあるPythonでも、しばらく他の言語に注意しないで書かないと、私のよく知っている知識が散り散りになると思いますが、脳に緩衝が出ないように、一つ一つ整理することにしました.
*argsは「可変パラメータ」の変数です.
これはどういう意味ですか.できますが、簡単に言えば、1個または10個の買収数を指定して変更することができます.
では、可変因子を使って数値加算add関数を作成しましょう.
では、上のコードを一つ一つ見てみましょう.
add関数を宣言した後、パラメータに*argsを設定します.
この場合、パラメータ名のargsが異なっていても関係ありませんが、前に*(星)マークを付けなければなりません.
その後、関数で使用する場合、*以外のパラメータ名しか使用できません.
このときargsを出力すると、値がカッコ()で囲まれているのが見えます.すなわち、*argsで入力したパラメータ値がtuple値として保存されます.
ソース:https://tenor.com/view/clap-clapping-applause-applaud-cheerleader-gif-12591824
実はargsと変わらない.ただし、*argsがtuple形式で保存されている場合、*kwargsはdickner形式で保存されます.
では*kwargsも一例です!
そしてprintで関数を出力します.ディクシャナ形式での価格設定が確認できます!!
ソース:https://tenor.com/view/yay-yas-dance-cool-little-girl-gif-14856115
Pythonを初めて勉強したとき、ある人が書いたコードの中でその2つの可変因子を見つけたとき、私も慌てていたのを覚えています.
ネットで検索すると可変因子だとしか教えてくれず、それが何なのかよく説明できなかったので、うろうろした記憶があり、時間が経つにつれて、誰かに聞かれたとき、私も知らなかった.以前私が探した答えのように.
「可変因子だ!」回答:
初めて言語を勉強するときにいつも障害があると言ったら、それを勉強して、もし誰かが私にこれを聞いたら、「私は本当にあなたに分かりやすい説明をするべきです!」私の実力はダメだと思いますが、時間が経つにつれて、それを忘れてしまいました.覚えやすい方法で覚えました.それを防ぐために、今のように努力して文章を書いて、記憶を模索します!:)
コード1つですらすら答えられると聞かれた日まで、皆さん頑張ってください@
ソース:https://tenor.com/view/friends-chandler-joey-good-job-great-job-gif-5336489>
今日突然先生は*argsと*kwargsを書いて、これは何ですかと聞きました.
それは可変因子を受け取った時に使う~と堂々と言っていましたが、可変因子が何なのかからいつ使うのかから、私も一瞬ためらうことがありました.
ソース:https://tenor.com/view/pedro-monkey-puppet-meme-awkward-gif-15268759
だからこの文章の目的は?
自信のあるPythonでも、しばらく他の言語に注意しないで書かないと、私のよく知っている知識が散り散りになると思いますが、脳に緩衝が出ないように、一つ一つ整理することにしました.
だから何が*argsですか?
*argsは「可変パラメータ」の変数です.
これはどういう意味ですか.できますが、簡単に言えば、1個または10個の買収数を指定して変更することができます.
では、可変因子を使って数値加算add関数を作成しましょう.
def add(*args):
result = 0
for i in args:
result += i
print(args)
return result
"""
출력 값
(1, 2, 3, 4, 5)
15
"""
上記のようにコードを書くことができます.では、上のコードを一つ一つ見てみましょう.
add関数を宣言した後、パラメータに*argsを設定します.
この場合、パラメータ名のargsが異なっていても関係ありませんが、前に*(星)マークを付けなければなりません.
その後、関数で使用する場合、*以外のパラメータ名しか使用できません.
このときargsを出力すると、値がカッコ()で囲まれているのが見えます.すなわち、*argsで入力したパラメータ値がtuple値として保存されます.
ソース:https://tenor.com/view/clap-clapping-applause-applaud-cheerleader-gif-12591824
では*kwagsは!?
実はargsと変わらない.ただし、*argsがtuple形式で保存されている場合、*kwargsはdickner形式で保存されます.
では*kwargsも一例です!
def info(**kwargs):
return kwargs
print(info(name="SoShin", age="25"))
"""
출력값
{'name': 'SoShin', 'age': '25'}
"""
以上のようにinfo関数に**kwargsパラメータを加え,パラメータとしてnameとage値を加えた.そしてprintで関数を出力します.ディクシャナ形式での価格設定が確認できます!!
ソース:https://tenor.com/view/yay-yas-dance-cool-little-girl-gif-14856115
Pythonを初めて勉強したとき、ある人が書いたコードの中でその2つの可変因子を見つけたとき、私も慌てていたのを覚えています.
ネットで検索すると可変因子だとしか教えてくれず、それが何なのかよく説明できなかったので、うろうろした記憶があり、時間が経つにつれて、誰かに聞かれたとき、私も知らなかった.以前私が探した答えのように.
「可変因子だ!」回答:
初めて言語を勉強するときにいつも障害があると言ったら、それを勉強して、もし誰かが私にこれを聞いたら、「私は本当にあなたに分かりやすい説明をするべきです!」私の実力はダメだと思いますが、時間が経つにつれて、それを忘れてしまいました.覚えやすい方法で覚えました.それを防ぐために、今のように努力して文章を書いて、記憶を模索します!:)
コード1つですらすら答えられると聞かれた日まで、皆さん頑張ってください@
ソース:https://tenor.com/view/friends-chandler-joey-good-job-great-job-gif-5336489>
Reference
この問題について([python]*argsと*kwargsは何ですか?), 我々は、より多くの情報をここで見つけました https://velog.io/@soshin_dev/Python-args-와-kwargs-란-무엇일까テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol