Pythonプログラミング入門・関数の書き方と使い方を超簡単に!

Pythonプログラミングにおける重要な概念のひとつが「関数」という概念です。
関数とは、一言でいってしまえば機能というふうに言えるのですが、これではプログラミング初心者にはわかりにくい説明になってしまいます。

そこで、僕なりに関数とは何なのかを言わせてもらいますと、「一定の処理を一行にまとめてしまうもの」だと言い換えることができます。

ただ、これでも実態がよくわからないと思いますので、ここではやはり実際に関数をPythonで書いて、動きを見るのが一番だと思います。
ですので、今回の記事ではPythonで関数を書いて実演していくことにしましょう。

プログラミング言語における関数とは

Pythonに限らず、どんなプログラミング言語でも言えることですが、関数を使うときには、まず「定義」をします。
そして、一度定義した関数はあとからいつでも「呼び出し」することができます。

つまり、関数を使うときにやるべきことは「定義」と「呼び出し」に分かれているというわけですね。
そして、必ず先に「定義」してからでなければ「呼び出し」をすることはできません。

Pythonの関数の基本的な文法

関数を「定義」するとき

Pythonで関数を書くとき、まずはdefと打ち込みます。そして、その次に関数名を書き、その下に処理内容を書きます。
このとき、関数名の横に():を書くのを忘れないようにしましょう。

def 関数名():
    処理内容...

関数を「呼び出す」とき

関数を呼び出すのは簡単で、関数名のあとに()を書くだけです。
これだけで一度定義した関数を、いつでも呼び出すことができます。

関数名()

Pythonの関数を使ってみよう

それでは、実際にPythonの関数を使ってみましょう。
やはりプログラミングというものは実際に手を動かさなければ理解が深まりませんので、あなたもコードを打って動きを確かめてみましょう。

では、まず関数を定義するところからはじめてみましょう。
この例では、「my_profile」という関数を定義しています。
そして、my_profileの処理内容は、自分のプロフィールを順番に表示していくというものです。

def my_profile():
    print("名前: ゲンゲン")
    print("住所: 大阪府")
    print("趣味: プログラミング")
    print("性別: 男")
    print("好きな食べ物: 焼き肉")
    print("好きなゲーム: マインクラフト")

そして、つぎに関数を呼び出してみましょう。
ここでは、さきほど定義した「my_profile」という関数を呼び出しています。
「my_profile()」と一行打ち込むだけで関数を呼び出すことができ、関数を呼び出すと関数の中にある処理内容が実行されます。

my_profile()
名前: ゲンゲン
住所: 大阪府
趣味: プログラミング
性別: 男
好きな食べ物: 焼き肉
好きなゲーム: マインクラフト

一度定義した関数はいつでも何度でも呼び出すことができます。
ですので、何度も使う処理を関数に定義しておけば、あとから同じ処理を行う場合は1行だけで行うことができるわけですね。

引数を使ってみよう!

プログラミングの関数において重要な概念のひとつに「引数」というものがあります。
引数を使えば、キャッチボールのように関数に値を渡すことができます。

ここでもやはり、実際に「引数を使った関数」を書いてみるのが一番なので、書いてみることにしましょう。

引数を使った関数の基本文法

引数を使った関数の書き方は下のようになります。
関数の()の中に引数を入れるだけで、基本的には普通の関数と全く同じです。
引数はいくつでも入れることができ、引数と引数の間は「,」カンマで区切ります。

def 関数名(引数1, 引数2):
    処理内容…

では、この引数を使った関数を定義してみましょう。
ここでは、「x」と「y」という引数を持った関数を定義してみました。
そして、関数内では「x + y」の計算がされ、その計算結果が返ってくるという処理内容です。

def curriculate(x, y):
    result = x + y
    return result

引数を使った関数の呼び出し方

それでは、次に引数を使った関数を呼び出してみましょう。
引数を使った関数を呼び出すときには、引数に対応する値を()の中に入れます。
この例の場合では、引数「x」に5を渡し、引数「y」に10を渡す形になっています。
そして、2つの引数を関数に渡すと、「x + y」の結果として15が返ってきていますね。

curriculate(5, 10)
15

もちろん、引数の値を変えると別の計算結果が返ってきます。
これが、引数を使った関数の使い方です。

curriculate(99, 1)
100

curriculate(50, 7)
57

curriculate(-1, -6)
-7

curriculate(0.5, 0.78)
1.28

「return」について

さて、さきほどの関数の処理内容の最後にあったreturnという処理ですが、これについて補足説明をしておきましょう。

このreturnという処理は、printのように値を表示するものではなく、「値を返す」ときに使う処理です。
値を返す、というのはどんな動きになるのか、実際に関数を呼び出して確かめてみましょう。

このように、普通に関数を呼び出しただけではprintのように値が表示されるだけで、何が違うのかよくわかりませんよね。

curriculate(25, 75)
100

けれども、このように関数を変数の値として使うと、returnから返ってきた値が変数に入ります。

my_exam = curriculate(25, 75)

print(my_exam)
100

他にもreturnは色々な使い方ができます。
たとえばこれは、引数「num」が10以上ならTrue、10未満ならFalseを返すという関数です。
この例からもわかるように、returnは関数内に複数置くこともできます。

def judge(num):
    if num >= 10:
        return True
    elif num < 10:
        return False


judge(10)
True

judge(5)
False

まとめ

さて、いかがでしたでしょうか。
関数の使い方を覚えると、プログラミングでできることの幅が大きく広がります。
また、関数を効果的に使うことで、読みやすいコードを書くことにも繋がりますし、プログラムを短期間で完成させることにも繋がります。

また、一度書いた関数は別のプログラムでも使い回せるので、自分で作った関数が増えていくと、それはひとつの財産になっていきます。

なので、なにかプログラムを書くときは出来る限り関数を使い、プログラム全体を「モジュール化」していくことが基本です。
まだプログラミング初心者の方はよくわかりませんが、この「モジュール化」という概念は効率よくプログラミングを行うためには必須なので、頭の片隅に置いておくといつか役立つと思います。

それでは、今回の記事はこのあたりになります。
最後までお読みいただいて、ありがとうございました!