プログラミングとコナン

【Python入門】初めてのプログラミング(関数の利用・可変長引数とキーワード引数)

こんにちわ!この記事はPythonの初学者のための内容となっております。

この記事を読むメリットとしては、

  • 可変長引数とか、キーワード引数ってなに!?
  • これらを知ると何が嬉しいの?
  • 柔軟な関数の定義の仕方を知りたい!

って方向けの内容です。

また、前回はオブジェクト指向についての記述でした。
今回は関数についての理解が必要なのでこちらも見てみてください!

【Python入門】初めてのプログラミング(オブジェクト指向2) 【Python入門】初めてのプログラミング(関数)

それでは頑張っていこう!

自分が昔使っていた本です。Javaですがとても分かりやすかったです。

楽天

amazon

プログラミングスクールに関しては下の記事で詳しく記述しています。

こちらで紹介しているスクールは、すべて無料期間がある優良なスクールのみで、特徴を明確にし、読者のニーズに絞って丁寧に解説しました。初めての一歩として、無料説明会に参加してみてください。

【全スクール無料体験あり!】プログラミングを学びたい人におすすめのスクール5選!

可変長引数について

可変長引数とは

可変長引数とは、関数を定義する際に、引数の個数を指定せずに引数を関数に渡す方法です。この可変長引数では、引数の名前に「 * 」を付けて定義します。

よく用いられる引数名は「args」や「kwargs」ですが、実際は何でも自由に設定できます。

サンプルコードをくれ!

可変長引数の基本的使い方

可変長引数は「 * 」を付ける個数によって意味が異なります。

  • 1個:配列的な扱い
  • 2個:辞書的な扱い

という感じで使い方が違いますので順番に見ていきましょう!

配列的な扱い

配列的な扱いの場合、引数に「 * 」1個よ!

このように、「Greeting」関数に引数を自由に渡すことができ大変便利です。

従来の方法だと、引数が変わるたびに関数を呼び出さないといけませんでした。
その例がこちらです。

過去の記事を読んでくださっている皆さんならば使い分けていきたいところですね!
配列の使い方が不明な方はこちら!

【Python入門】初めてのプログラミング(2次元配列)

過去の記事

辞書的な扱い

辞書的な扱いの場合、引数に「 * 」2個よ!

ここで気を付けたいのは、「key」に対応する引数は、「 ” 」か「 ‘ 」を付けないで、文字列としては扱わないという点ですね。普段なら、「”フランス語”」としているところなので注意が必要です。

配列の使い方が不明な方はこちら!

【Python入門】初めてのプログラミング(辞書型配列)

過去の記事

可変長引数の注意点

注意点としては、先ほどの「key」として渡す変数は文字列として扱わないという点があります。また、可変長引数を用いた関数にも、複数の引数を渡すことが可能です。その例を見ていきましょう!

引数が渡される順に「p1」、「p2」に代入されてるね!

逆に言えば、普通の引数と、可変長引数を併用する場合は、可変長引数を最後に記述する必要があるということがわかりますね。なぜなら、最後以外に可変長引数を設定した場合、いくつの要素が可変長引数に対応するのかが明確にならないため、エラーとなるからです。

実際にエラーとなるかを確認していきましょう!

理解できたらエラー内容は大丈夫!

キーワード引数について

キーワード引数とは

キーワード引数とは、関数の引数にデフォルト値を設定した引数のことです。記述方法としては、(引数名) = (値)とすることでデフォルト値の指定が可能になります。

先ほどの可変長引数と比べると理解がしやすいと思います。

サンプルコードをくれ!

キーワード引数の基本的使い方

関数「introduce」は引数が2つあります。しかし、関数を呼び出すときの引数の個数はバラバラです。それでもエラーなしに実行できるのはデフォルトが決まっているからですね!

また、引数を渡す順番が前後にずれていても、キーワードを指定することによってプログラマーの意図通りに記述することが出来ますね!とっても便利でしょ!

まとめ

今回は、可変長引数とキーワード引数を用いた関数の利用方法についての記述でした。どちらも使い方によっては大変便利な記述方法なので上手に扱っていきたいですね!

注意点としては、引数を設定するときの順番によってはエラーが出てしまう時があるということです。関数における引数が一般的な引数と、可変長引数を用いた場合、必ず可変長引数を引数の最後に記述する必要があります。

また、キーワード引数の考え方はデフォルト値を設定するということでしたね!

キーワード引数は簡単やったな!

本日の理解度調査

今日の最後に理解度調査をします!!
どうすれば正しくなるのか考えてみてね!!

Q.可変長引数を用いた関数「Calc_Sum」を完成させよ。

正解は。。。

わかったかな??正解出来たら今回の項目は完璧だね!!

最後まで記事を読んでいただきありがとうございます!

昔、自分が参考にしていたプログラミングについての書籍を紹介します。
非常にわかりやすい内容で、言語は「Java」ですが参考にしてみてください!

「Python」じゃないんかい!

楽天

amazon

プログラミングスクールに関しては下の記事で詳しく記述しています。

こちらで紹介しているスクールは、すべて無料期間がある優良なスクールのみで、特徴を明確にし、読者のニーズに絞って丁寧に解説しました。初めての一歩として、無料説明会に参加してみてください。

【全スクール無料体験あり!】プログラミングを学びたい人におすすめのスクール5選!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA