引数とキーワード引数というものについて説明しましょう｡
というか､ すでに見たことがあるんですけどね｡
そうですね｡
機能付き｡
実は､ このargsとstarというキーワードargsという特殊な文字が使えるんです｡
これをどう使うか？
さて､ 見てみましょうか｡
機能を持たせてみよう｡
定義して､ これをスーパーファンクと呼ぶことにしましょう｡
何らかの引数を受け取るスーパー関数の場合｡
そして､ これから受けるこれらの議論｡
そして､ これらのアークを呼んでいるけれども､ 覚えておいてください｡
これ自体がパラメータなんですよ､ 覚えてますか？
しかし､ 引数のいくつかを返したいだけなのに､ なぜその関数を定義する必要がないのかと思うかもしれません｡
Pythonには､ ここにあるように､ 実際に存在するものもあります｡
だから､ 引数の一部を返せばいいんです｡
では､ こうしてみましょう｡
super funcとします｡
そして､ それに論拠を与える｡
1､ 2､ 3､ 4､ 5｡
実行をクリックすると
うーん｡
私はエアスーパーファンクで1つのポジションの議論を取りますが､ 5つのポジションが与えられ､ それは正しい意味を持つのでしょうか？
ここではパラメータは1つだけで､ それを受け入れる位置引数である｡
そして､ これを1つだけ受け取るようにまとめようとしているのですが､ 知らないものばかりに与えてしまっています｡
そして､ ここに星をつけることでこのような使い方ができるのです｡
私たちは､ おいおい､ これならいくらでもこういう立場の主張を受け入れられるぞ､ と言っているのです｡
欲しいだけ｡
実は､ これをプリントアウトしてみましょう｡
スターアークをプリントして､ この関数を実行すると｡
プリントスターの円弧から､ 1､ 2､ 3､ 4､ 5が得られることがわかる｡
これらはすべて､ パラメータや引数として取得するものです｡
そして､ 実際にここの星を削除して､ 「実行」をクリックすると｡
あれを見てください｡
実はこれ､ タプルとして取得しています｡
つまり､ この関数の中のargsは､ 私が与える引数のタプルである｡
1､ 2､ 3､ 4､ 5｡
つまり､ 1､ 2､ 3､ 4､ 5というタプルのいくつかが､ 正しい答えを与えてくれることになるのです｡
私たちのために印刷してくれるんです｡
その答えは
15.
とても､ かっこいいです｡
だから､ こうして拡張できるのです｡
そして､ スター型引数を使って､ 任意の数の引数を受け取ることができる関数を作成します｡
では､ こちらは今どうなっているのでしょうか？
まあ､ これはこれで｡
キーワード引数を使用できるようにする｡
例えば､ こんな風に星印のキーワードの円弧があるとします｡
ちなみに､ これは技術的には何でもいいんです｡
つまり､ これは作成する変数です｡
しかし､ 他の開発者がこの方法で使っているため､ Pythonコミュニティでは標準的にargsとキーワードargsと名付けることにしています｡
キーワードアークを使えば､ ご想像のとおり､ num one equalsのようなキーワードを追加することができます｡
5と2の合計は10になる｡
argsというキーワードを出力して､ 実行をクリックすると､ そのようになるように｡
なしという辞書が出るんです｡
1が5に､ そして今度は2が10に｡
だから､ キーワードargsにある項目のsum＋sumのようなことが実際にできるのです｡
そして､ 価値をつかむ｡
そうですね｡
以前にも見たことがあります｡
そして､ 実際にこれを掴んでforループを行い､ キーワードアークのアイテムをドット値で言ってみましょう｡
こことここの値を覚えておいて､ 合計を出すだけ｡
では､ ここでトータルイコール､ プラスイコールの項目で､ 合計を足すとします｡
ここでは､ 最初はゼロであるため､ いくつかのこと｡
いくつかのアーギュメントと合計になります｡
これを実行すると
30を取得｡
今のところ､ これくらいがちょうどよさそうですが､ ちょっとわかりにくいですね｡
では､ それを確認してみましょう｡
スターアークを使えば､ これらの位置の引数を取って､ すべてを合計することができます｡
また､ キーワードアークがあるので､ キーワード引数をいくつでも取得して､ キーワードアークとして来る辞書を取得し､
それを好きなように使用することができるのです｡
この場合､ すべての値をループしているので､ キーワードのアーク値の項目､ そして､ それらの項目をすべて合計しています｡
合計を持ち､ その合計を返すだけ｡
これで､ Superfundは好きなだけ多くの引数､ 位置引数､ キーワード引数を取ることができるようになり､
非常に便利になりました｡
さて､ 最後にもうひとつ｡
ここでは､ パラメーターの順番を決めるという役割があります｡
そうですね｡
つまり､ ルールの順番は､ 私たちのパラメータではこれが最初なのです｡
実際のパラメータをよく確認しました｡
それから､ スターアーク､ そしてデフォルトのパラメータを行うことができます｡
次にスター｡
スター
キーワードアーク
どういうことか､ お見せしましょう｡
この関数を定義する場合､ 例えばnameというパラメータを与えた場合､ その関数がどのようになるかを確認したい｡
それは､ 星のアークより先にあるべきものです｡
また､ デフォルトのパラメータがある場合は､ 通常､ アークの後､ キーワードアークの前に来るはずです｡
だから､ もし私がやるなら､ I equal high と言って､ ここにコンマを追加することを確認しましょう｡
今､ 私たちはそのルールに従っています｡
ところで､ 実際にこのような関数を書くことはないでしょう｡ なぜなら､ 率直に言って､ 非常にわかりにくいからです｡
通常は､ このうちの2つだけ､ あるいは1つだけを使っているのではないでしょうか｡
しかし､ この方法では､ 名前と引数でこの関数を呼び出すことができます｡ そして､ デフォルトのパラメータは､ I equals to highになります（これは､
引数を渡さないことにしましょう）｡
そして､ こんなこともあります｡
だから､ ここを走れば｡
これは今でも有効です｡
ネームとアイを使っていないだけです｡
でも､ params args､ default parameters､ そしてkeyword arxというルールに従っているのはおわかりいただけたと思います｡
わかりました｡
この後､ 頭があまり痛くならないことを祈ります｡
一息ついて､ また次回作でお会いしましょう｡
バイバイ｡