- Pythonを無料で学習したい
- Pythonをわかりやすく教えてほしい
- Pythonでさまざまな教材やスクールを利用したけどイマイチ理解ができなかった
本記事は上記のような人のためにPython文法をわかりやすく解説していきます。
プログラミング初心者の方だと主にプログラミング特有の概念などに理解を詰まらせることでしょう。
そこでPythonの文法について「無料で・わかりやすく・網羅的に」学ぶことができるように本記事シリーズを作成しました。
本記事シリーズを読めばPythonコードを自由自在に操れるようになります。
そして、学習の進め方としては40~60%の理解でどんどん進めていくことと、何度も復習することが大切です。
Python文法の入門講座④では「関数」について学習していきます。
※本記事は内容を随時更新していきます。
関数の基本
関数とは処理をまとめて1つにしたツールのことです。
関数はあるデータを受け取り、プログラムされた通りに処理を実行して、その結果を返します。
このようにして関数が受け取るデータのことを引数といいます。
これまでの学習でも、例えばprint(“りんご”)のように関数のカッコ内にデータを入れて処理を実行していました。
print関数の中に記述された “りんご” などの正体が引数だったのです。
では、関数は何のためにあるのでしょうか?
それはプログラムの処理を何度も記述する手間を省くためです。
つまり処理をロボットに記憶させて、毎回呼び出せるようにするというイメージです。
関数をつくっておけば、同じものを2回以上記述する必要がなく、1行で使い回しができて他の人も使うことができます。
そして、関数は以下の2種類に分類されます。
・組み込み関数
・自分でつくる関数
組み込み関数
組み込み関数とはPythonで元々用意されている関数のことです。
print()やappend()などの本講座で今まで使ってきた関数はすべて組み込み関数になります。
わざわざ関数を定義しなくても標準で使うことができます。
自分でつくる関数
自分でつくる関数とは言葉通り自分で定義した関数のことです。
ここが本記事でのメインテーマになります。
関数を自分でつくれば、実行したい複雑な処理を1行で実現することができます。
自分でつくる関数は以下のように記述して定義します。
それでは引数と一緒に関数を深掘りしていきましょう。
関数と引数
初心者が関数の理解に苦しむのが引数についてです。
ここで、わかりやすいように引数の有無によって下の図のように3つのパターンにわけてみました。
引数がないパターンはこちらから引数を渡さなくても処理を実行してくれる関数です。
一方、引数があるパターンはこちらから引数を渡さないと処理を実行してくれない関数になります。
この図のイメージを持って実際のコードの記述を見てみましょう。
例)①引数がないパターン
def say_hello() :
print("おはよう!")
say_hello()
#処理結果
=>おはよう!
例)②引数が1つのパターン
def double_num(num) :
answer = num * 2
return answer
double_num(5)
#処理結果
=>10
例)③引数が2つ以上のパターン
def score_average(test1, test2, test3) :
average = (test1 + test2 + test3) / 3
return average
score_average(90, 65, 85)
#処理結果
=>80
また、引数には初期値(デフォルト値)を設定することができます。
初期値は引数に値を代入して設定します。
関数を実行する時に、初期値を設定した引数に値を指定しなければ、初期値が関数内で処理されます。
実際にコードを見た方がわかりやすいので以下の例で確認しましょう。
例)
def score_average(test1, test3, test2=70) : #初期値を設定する引数を最後に記述する
average = (test1 + test2 + test3) / 3
return average
score_average(90, 85)
#処理結果
=>81.66666666666667
return文とprint関数の違い
初心者が理解に苦しむ論点として「return文とprint関数の違い」があります。
例えば以下のコードを見てください。
例)
def say_hello() :
return "おはよう!"
say_hello()
#処理結果
=>おはよう!
def say_hello() :
print("おはよう!")
say_hello()
#処理結果
=>おはよう!
どちらも処理結果は同じになります。
ではreturn文とprint関数では何が違うのか?
それは「return文は値を返す」、「print関数は値を出力する」ということです。
イメージとして下の図で確認しましょう。
例)return文
def say_hello() :
return "おはよう!"
print(say_hello())
#処理結果
=>おはよう!
例)print関数
def say_hello() :
print("おはよう!")
print(say_hello())
#処理結果
=>おはよう! #say_hello関数を呼び出して処理を実行
=>None #その後にprint関数で出力処理をしようとしているが出力する値がないので"None"が返されている
まとめ
Python文法の入門講座④では「関数」について学習しました。
今回の内容は初心者の方にとっては少しヘビーな内容だったと思います。
関数において押さえたいポイントは「引数の流れ」と、「returnとprint()の違い」です。
この2つを押さえておけば関数に対する理解がグッと深まることでしょう。
次回Python文法の入門講座⑤では「クラス」について学習していきます。
こちらからどうぞ!
Pythonを無料で学習したいPythonをわかりやすく教えてほしいPythonでさまざまな教材やスクールを利用したけどイマイチ理解ができなかった 本記事は上記のような人のためにPython文法をわかりやすく解説していきます。プログ[…]
なお、他のPython文法の入門講座シリーズはこちらから!
Pythonを無料で学習したいPythonをわかりやすく教えてほしいPythonで他の教材やスクールを利用したけどイマイチ理解ができなかった 本記事は上記のような人のためにPython文法をわかりやすく解説していきます。プログラミン[…]
Pythonを無料で学習したいPythonをわかりやすく教えてほしいPythonでさまざまな教材やスクールを利用したけどイマイチ理解ができなかった 本記事は上記のような人のためにPython文法をわかりやすく解説していきます。プログ[…]
Pythonを無料で学習したいPythonをわかりやすく教えてほしいPythonでさまざまな教材やスクールを利用したけどイマイチ理解ができなかった 本記事は上記のような人のためにPython文法をわかりやすく解説していきます。プログ[…]
Pythonを無料で学習したいPythonをわかりやすく教えてほしいPythonでさまざまな教材やスクールを利用したけどイマイチ理解ができなかった 本記事は上記のような人のためにPython文法をわかりやすく解説していきます。プログ[…]