python プログラミング programming 関数

python

【Python】関数について【応用編】

2019年6月21日

こんにちは。

 

今回は関数に関する内容です。

 

関数に関わる言葉として、引数返り値(戻り値)の2つがあります。

 

ピンと来ない方は復習しておきましょう。

 

関数の基本的な内容については、以下の記事を参照にしてください。

関連記事
python コード サンプル
【Python】関数の基本について【初心者向け】

続きを見る

関数についての復習

  • 引数: 関数の () に入るデータの値
  • 返り値(戻り値):関数によって出力されるデータ

今回は関数について深く知りたい方に向けた記事になります。

 

 本記事の学習内容

  1. 引数のない関数の作成方法
  2. 引数のある関数の作成方法
  3. 戻り値のある関数の定義
  4. 関数から抜ける方法

 

では早速学習していきましょう。

関数の作り方

python プログラミング programming 関数

引数のない関数の作り方

関数は def() を用いて定義されます。

 

また、 for, while, if と同様に def() の後には : が付けることがルールとなっています。

 

: がついてからタブキーで改行されている範囲までが def() の通用範囲となります。

 

また、def の後に定義されている関数のみを記入すると、その関数を実行する、という意味になります。

 

実際に見ていきましょう。

 

In[]


出力するとこのようになります。

Out[]

引数のある関数の作り方

引数のある基本的な使い方

引数を持つ関数を作る際には def 関数名(引数)の様に記載します。

 

introduce()() の内部には2つの引数が格納されています。

 

引数の順番に出力される事に注意しましょう。

 

In[]

キーワードを使用した引数のある関数の使い方

上の項では introduce() の引数の順番によって、出力される順番が変わってきました。

 

そこで、引数を記載する順番によってデータを指定する方法以外に、キーワード引数を使用した仕組みを利用して関数を実行する方法を使います。

 

キーワード引数名 = データ を利用する事により、記述した引数の順番に関係なく出力するデータを指定することが可能です。

 

In[]


上記コードの最後の行の name , medical_department を入れ替えましたが、実行結果はどの様になるのかを見てみましょう。

 

引数のデフォルト値

引数にデフォルト値を設定すると、引数にデータを記述しなかった場合に、関数を実行する際に指定されたデフォルトの値が出力されます。

 

前項にも記載している通りに引数にデータを記述した際には、そのデータが関数内で使用されることができます。


実行した結果、以下の様になります。

 

戻り値がある関数の定義

戻り値がある場合の関数の定義について現したいと思います。

 

戻り値や引数を指定する関数の基本形はこの様ななっています。


ここで例としてBMIの計算を行なってみましょう。

 


出力結果の例は以下となります。

ここで、def の 次の行に出てくる bmi は関数の定義を行う際のみに利用できる変数です。この様な変数を「ローカル変数」と言います。

 

整数intや浮動小数点数floatに変換したい場合はint()float()を使います。float(), int() については以下の記事を参照にしてください。

なお、小数点以下の桁数を指定してprintする際には、置換フィールドに{:.○f}と書きます。この’f’は、’floating point numbers(浮動小数点数)’の’f’です。
>> Pythonのprintで桁数(数値や少数点以下など)を指定して出力する方法


ここで出てくる「置換フィールド」という言葉が分からない方は、置換フィールドとformat構文の関係については以下を参照にしてください。
>> [Python入門]文字列の書式指定

途中で関数から抜ける方法

関数を使用するときには iffor などの繰り返し処理における break の様に Noneというオブジェクトを使用すれば「途中で処理を終了する」ことができます。

 

関数を定義する処理に置いて「途中で抜ける」ためには return None と記述してください。

 

ほぼ break の様な扱いとなります。

 

実際に「数字を入力して貰い、1から入力された数字までを求める」コードを作成してみます。

In[]

ここで、 return None の箇所は単純に return のみでも構いません。
また、

また、この箇所でつまづく方が多いのですが、これは単純に「input_num」である最大値までを 順番に足していく事を意味しています。

 

ですで、i には 0,1,2,3,4,5,6,7,8,9,10 ,… num が順番に入り、1+2+3+..... で合計を出しているだけですので実際に式に直すとわかりやすいです

まとめ|pythonの関数に関しての応用編

python プログラミング programming 関数

 

以上Pythonの関数に関して解説しました。

 

関数はPythonのキモになりますので、少し難しい箇所がありますがしっかりと理解する事が重要です。


-python
-,

Copyright© Tommy blog  , 2020 All Rights Reserved.