プログラミング入門として、Pythonにおける『関数(かんすう)』の使い方を解説します。
関数はいくつかの処理をまとめておく機能です。
何度も繰り返し行う処理は関数としてまとめておくことで、簡単に呼び出すことができます。
関数を使うことでコードが簡素化されて見やすくなったり、重複したコード入力を減らすことができます。
結果的にコーディングの高速化やミスの軽減につながりますので、早いうちに慣れておくことをお勧めします。
この記事は20分程度で読めます。
環境について
今回の解説は、PCにPython3をインストールした環境で行います。
まだインストールしていない場合は、次の記事を参考にしてください。
また、Pythonの開発環境として、Visual Studio Code(VS Code)をおすすめしています。
簡単なプログラムの作成方法、実行方法も解説していますので、まずはこちらからご覧ください。
Windowsの場合


Ubuntu(Linux)の場合
UbuntuはあらかじめPythonがインストールされています。


Raspberry Pi OSの場合
Raspberry Pi OSはあらかじめPythonがインストールされています。


関数とは
関数は一言で書くと、受け取ったデータに対して、ある決められた処理を行って、結果を返すものです。
Pythonには様々な関数があらかじめ用意されています。
おそらくみなさんが最初に使うprint()もその中のひとつです。
print()は受け取ったデータを文字列として出力する関数です。
関数はあらかじめ用意されたもの以外にも自分で作ることができます。
言葉で書いてもよくわからないので、実際に作って使ってみましょう。
シンプルな関数
関数の書き方、使い方
まずは次のPythonプログラムを実行してみましょう。
決まった文字列を表示するだけのシンプルな関数です。
def Potato():
print("おいしいおいも")
Potato()
『おいしいおいも』と表示されたら成功です。
うまく表示されない場合は入力ミスがないかよく確認しましょう。
“ ”の中の文字列以外は必ず半角文字で入力しましょう。
[print]の前の空白も必ず入力が必要です。
「こんなもんわざわざ3行も使ってややこしく書かなくてもprint(“ ”)の行だけでいいじゃん」
という疑問は、後ほど解消されるかと思います。
小学校の算数でわり算を教わるときも、まずは足し算、引き算、かけ算を知る必要があります。
ひとまずは関数がどういったもので、どういう使い方をするのかを知ってください。
解説
関数は次のような書式で定義することができます。
def 関数名():
関数内で行う処理
前項のプログラムの例でいうと、関数名は『Potato』です。
関数名は自由につけることができます。
関数の中で行う処理は、関数名を入力した次の行から、字下げの空白(インデント)の後に入力します。
今回は文字列を表示するだけのprint(“ ”)が、Potatoという関数の中で実行される処理となります。
作成した関数は次のように記述することで呼び出せます。
関数名()
今回は『Potato()』と記述したことで、作成した関数[Potato]が呼び出され、関数内の処理Print(“ ”)が実行されました。
例がひとつだけだとわかりにくいので、もうひとつ次のプログラムを実行してみてください。
def Imo():
print("おいしい")
print("おいしい")
print("おいも")
Imo()
Imo()
実行結果は次のようになります。
おいしい
おいしい
おいも
おいしい
おいしい
おいも
関数名は自由につけることができますので、今回作成した関数は[Imo]としました。
関数を呼び出すときは[Imo()]となります。
関数[Imo]の中で複数の処理をさせるには、字下げの空白(インデント)の後に処理を入力します。
今回はprint(“ ”)の3回をまとめて実行する関数となっています。
[Imo()]を2回続けて呼び出しているので、関数[Imo]の中の処理が続けて2回実行されています。
自分なりに関数を作成して、まずは複数の処理をまとめる使い方になれてみましょう。
ちなみに、覚える必要はありませんが、[def]はdefineの略で、『~を定義する』を意味します。
引数(ひきすう)について
関数にデータを渡す
関数は、データを渡して処理をさせることができます。
次のプログラムを実行してみましょう。
def Potato(data):
print("いもが" + str(data) + "個")
Potato(3)
次のように表示されたら成功です。
いもが3個
Potato(3)の( )の中の数値を変更して、再度実行してみてください。
入力した数値に応じて実行時に表示される数値が変化します。
解説
関数にデータを渡す場合は、次のような書式で記述します。
def 関数名(関数に渡すデータ):
関数内で行う処理
関数名は[Potato]としています。
関数に渡すデータ名は、今回は[data]という名前にしました。
この、関数に渡すデータの事を引数(ひきすう)と言います。
引数は自由に名前をつけることができます。
つづいて関数内で行う処理として次の記述です。
print("いもが" + str(data) + "個")
実行してみてわかったかと思いますが、『いもが○○個』という実行結果の『○○』の箇所が、引数[data]に置き換わります。
このように書式や計算式が決まっており、ある数値だけを変えたいといった処理で、引数を用いた関数は有効に活用できます。
ちなみにstr()は数値である[data]を文字列に変換するための関数です。
+記号による文字列の連結やstr()の使い方については次の記事の『文字列と数値を一緒に表示する場合』の項で詳しく解説しています。
ちなみに今回解説している引数も、この記事で紹介している変数の一種となります。

戻り値(もどりち)について
関数からデータを返す
関数は処理した結果を返すことができます。
次のプログラムを実行してみましょう。
def Add(a, b):
c = a + b
return c
answer = Add(1, 2)
print(answer)
実行結果は『3』が表示されます。
answer = Add(1, 2)の1と2の数値を変更して実行してみましょう。
実行結果として、2つの数値を足した数値が表示されます。
解説
関数からデータを返す場合は、次のような書式で記述します。
def 関数名(関数に渡すデータ):
関数内で行う処理
return 返すデータ
今回作成した関数名は[Add]としました。
引数としてaとbを受け取ります。このように引数は複数設定することも可能です。
関数内の処理としてはaとbを足してcに代入するというシンプルなものです。
関数の最後の[return c]で、呼び出し元の処理に計算結果のcを返します。
このreturnで返すデータを戻り値と言います。(返り値と言われる場合もあります。)
使うときはこれまでと同様にAdd(1, 2)のように記述します。
Add(1, 2)の処理の結果返ってきた計算結果cは、そのまま変数[answer]に代入されます。
最後にanswerをprint()で出力しています。
解説のためにやや回りくどい書き方をしましたが、次のようにシンプルに書くこともできます。
実行結果は同じとなります。
def Add(a, b):
return a + b
print(Add(1, 2))
また、解説中に使用したデータの入れ物『変数』については次の記事で解説しています。

Pythonの魅力
Pythonは世界的にも人気の高いプログラミング言語のひとつです。
汎用性が高く、データ分析やWebアプリの開発等、幅広い分野で使用されているほか、日本の市場で今後も拡大することが予想されるAI(機械学習、ディープラーニング)技術との親和性も高く、Pythonを扱えるエンジニアの需要は伸びていくことが予想されます。
そのため開発言語として採用する企業も増えています。
市場動向調査では、Pythonエンジニアの求人倍率は約53倍と非常に高く、慢性的に人材が不足している状況です。
参考: レバテック『2021年12月のITエンジニア・クリエイター正社員転職/フリーランス市場動向』
また、プログラミング言語別の年収調査ではPythonは3位と高い水準にあり、中央値で575万円、最大提示年収で1,499万円と、日本人の年収の中央値397万円を大きく上回りました。
参考: BIZREACH『プログラミング言語別年収中央値を発表、求人検索エンジン「スタンバイ」調べ』
参考: 時事ドットコム『【2022年最新】日本の「平均年収」「年収中央値」を調査』
このように、Pythonは将来性の高いプログラミング言語と言えるでしょう。
就職、転職、副業を目指す上で、身につけておきたいスキルです。
Pythonの学習難易度は他のプログラミング言語と比べると比較的低いとされています。
独学で習得することも可能ですが、近年はオンラインスクールを利用して短期間で集中して実務レベルまで習熟させるという方も増えています。
プログラミングのオンラインスクールを活用する場合は、現役のエンジニアが講師となるスクールが優位でしょう。開発現場で通用する質の高い実務ノウハウを学ぶことができます。
また、オンラインスクールであれば全国どこからでも受講できるため、わざわざ都会へ出たり交通費をかけることなく、ライフスタイルに合わせて効率的にスキルを身につけることができることが魅力です。
ITエンジニアとして働き高い収入を得るための先行投資として、オンラインスクールは一つの選択肢となり得るでしょう。
無料体験できるオンラインスクールもあるため、独学でも習得できそうか、短期集中で学んだ方がいいのか、ご自身の力量を見極めてみるのもいいのではないでしょうか。

こちらの記事ではオンラインスクールを受講する価値はあるのかについて解説しています。あわせてどうぞ

コメント