- 2018-10-15
- pythonプログラミング, 関数
- python, キーワード引数
- 【Python入門】キーワード引数の使い方 はコメントを受け付けていません
キーワード引数とは、メソッドの引数に
キーワードをつけることができる機能のことをいいます。
この記事ではPythonで使うことのある、
キーワード引数の使い方について詳しく解説していきます。
【Python】キーワード引数の使い方
まず例題1をご覧ください。
#例題1 def ninzu(friends='10人', sinyu='0人' ): print(friends, sinyu) ninzu(friends='3人', sinyu='1人' )
例題1を実行すると
と表示されます。
例題1の意味がよくわからないという方は
こちらの記事で詳しく解説しているので
そちらをご覧ください。
⇒【Python入門】関数定義と引数
ところで、例題1の
def ninzu(friends='10人', sinyu='0人' ):
のところで、
friends=’10人’, sinyu=’0人’ 以外に
妻や旦那の数、離婚者の数など、いろんな要素を増やしたい場合だってあるでしょう。
そんなときに使えるキーワード引数として**kwargsがあります。
さっそく例題2をご覧ください。
#例題2 def ninzu(**kwargs): print(kwargs) ninzu(friends='3人', sinyu='1人' )
例題2では最初の2行に
def ninzu(**kwargs): print(kwargs)
としてkwargsを使っています。
実行すると
と辞書の形として表示されます。
こんな感じで**kwargsはたくさんあるキーワード引数を
辞書として受け取る場合に利用されます。
例題3をご覧ください。
#例題3 def ninzu(**kwargs): for a, b in kwargs.items(): print(a, b) ninzu(friends='3人', sinyu='1人' )
実行すると
sinyu 1人
と表示されます。
次に例題4をご覧ください。
#例題4 def ninzu(**kwargs): for a, b in kwargs.items(): print(a, b) c = {'彼女' : '5人', '彼氏' : '15人', '友達' : '100人'} ninzu(**c)
例題4では
c = {'彼女' : '5人', '彼氏' : '15人', '友達' : '100人'}
がありますね。
{}でくくるとPythonでは辞書として扱われます。
先ほどもいいましたが
**kwargsはたくさんあるキーワード引数を
辞書として受け取る場合に利用できるわけですね。
c = {'彼女' : '5人', '彼氏' : '15人', '友達' : '100人'}
といった、複数あるときに、**kwargsは有効です。
そして
ninzu(**c)
と**(アスタリスク2つ)によって
辞書cが展開されて
def ninzu(**kwargs):
に渡され辞書化されます。
実行すると
彼氏 15人
友達 100人
と表示されます。
以上でキーワード引数についての解説を終わります。
pythonを学ぶならこちらの動画講座がおすすめです
Python 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイルを学び、実践的なアプリ開発の準備をする
かなり長い講座名ですね。
わかりにくそうな感じがします。ですが、pythonの基礎からしっかりとわかりやすく教えてくれます。
また、きれいなコードを書くための方法についても
教えてくれるので、周りが「どうやってそんなコードを書いてるの?」
とびっくりされるようになるかもしれません。それからWebアプリケーション開発の基本的なテクニックについても
教えてくれます。なので、pythonを使ってwebアプリケーションを作ってみようと
思っている方にもおすすめです。値段は時期によって違います。
詳しくはこちらをご覧ください。
みんなのAI講座 ゼロからPythonで学ぶ人工知能と機械学習
この講座ではまずpythonの基礎を学びます。
次に人工知能について学んでいきます。そして最終的にはpythonを使って文字認識や株価分析ができるような技術力が身につくようになっています。
単純に教科書的なpythonを学ぶのではなく
仕事でも使えるスキルを身につけたい方におすすめの講座です。なのに値段は恐ろしいほど安いです。
時期によって値段は変動するので
詳しくはこちらをご覧ください。
Pythonで機械学習:scikit-learnで学ぶ識別入門
この動画講座は広島大学准教授の先生が担当しています。
機械学習が専門の先生です。すごく深い知識が身につきます。
大学の先生の講義って難しそうってイメージがあるかもしれません。でもそんなことはありません。
すごくわかりやすいです。pythonで機械学習のスキルを身につけたい方におすすめです。
値段は時期によって違いますが、かなり、良心的な価格になっています。詳しくはこちらをご覧ください。