Python|Pythonで関数を作ってみよう!

こんにちは、うしまるです。

今回はPythonで関数を作ってみましょう!

関数はプログラムが大きくなってくると必須となる項目となりますので作り方をぜひ覚えていきましょう。

関数とは?

プログラムには関数と呼ばれるものがあります。基本チュートリアルや入門書では、表立って関数を作って書いていくようなことはあまり無いのですが、仕事や複雑なことをプログラムにさせたい場合に、関数を作る必要が必ず出てきます。

関数は、プログラムのまとまりみたいなものに名前をつけたものです。基本は、「INPUTを受け取り、内部で処理を行い、OUTPUTを返す」流れになります。この時、INPUTに入れる値のことを「引数」といい、OUTPUTの値のことを「戻り値」といいます。

一度関数を作ってしまうと、呼び出し方にルールはありますが、そのルールを守れば何度でも再利用することができます。例えば、引数に2つの値を入れると、足し算された結果を返してくれる関数なんてものも作ることができます。

また関数の中にさらに関数をといった形であったり、ライブラリと呼ばれる特定の役割に特化したお弁当箱セットみたいなものもあります。APIなんて呼び方をされる場合もあります。

今回はそんなPythonでの関数の基本について見ていきましょぅ!

Pythonで関数を作ってみよう!

さっそく、Pythonで関数を作ってみましょう。Pythonでの基本的な関数の作り方は下のような形になります。

def [関数名]([引数1],[引数2], …) :

[コードブロック]

頭に「def」をつけます。[関数名]には、作った関数が何をする関数なのかわかるような自由な名前をつけましょう。

ここで余談をひとつ。

Pythonではありませんが、Windowsアプリケーションを開発してきた現場では、新しい関数を作成する場合、名前の付け方にルールみたいなのがある場合もあります。私の担当してきた会社さんは基本そんなルールが存在していて、実際に仕事で関数を作成するときは、すでに作られている関数がどのような名前のつかけたをしているのか確認するといったことがありました。いわゆる過去踏襲というやつなのですがわりと多いので実際に規模の大きなソフトウェア開発に携わる場合は、過去どのような対応をしてきたのかが重要視されていたりします。

また新しいソフトを作るときは、その作った人が後のスタンダードになるため、数年後に開発をする人たちに”?”マークをたくさんつけられないような名前をつけてあげると良いと思います。

では、さっそく作ってみましょう!

今回は簡単な足し算の関数を作ってみます。

def add(x, y) :
ans = x + y
return(ans)

“x”と”y”に足したい数字を入れるようにします。実際の[コードブロック]の中では変数ansに”x”と”y”の値を足したものを格納しています。最後の行のreturn()の中に戻り値として返したい変数や値を入れてあげると関数を呼び出したとときの実行結果として戻り値を受け取ることができるようになります。

続いて呼び出し方法についてみていきましょう。関数は作っただけではプログラムを動かしても何も動いてくれません。呼び出してあげることで初めて力を発揮します。

作った関数を呼び出してみよう!

呼び出し方の基本をみていきましょう。

[変数] = [関数名]([引数1],[引数2], …)

[変数]には、関数を実行した後の戻り値が格納されます。中には戻り値なしの実行するだけの関数もありますが、そういった場合は「[変数] =」の部分は不要となります。

[関数名]には、作った関数名を入れます。[引数1]や[引数2]は作った関数の引数の数によって変わってきますが、必ず一致するようにしましょう。

では実際に関数を呼び出してみましょう!

実際に作った関数を呼び出すことができました。実際のプログラムの順番は、7行目がスタートでそのあと10行目で、事前に作成していた1行目からの関数が呼び出されています。少し順番がごちゃごちゃしますが、あくまで実行時に動いているのは7行目から12行目にかけて。10行目から順番がとんで2行目から4行目が実行されるといった形となります。

ちなみに、他の記事でも使っているようなprint()も実は関数です。ただしこの関数は少し特殊で事前にPython側で用意された組み込み関数と呼ばれるものになります。こういった関数が他にも存在していて、新たに関数を作成するときにこういった組み込み関数と同じ名前にならないように作る必要があります。

まとめ

今回は、関数の作り方から呼び出し方までの基本的な部分について紹介しました。今回の例のような足し算をするとかは、わざわざ関数にする必要も無いのですが、実際の開発現場は何万行レベルでプログラムを動かすソフトがゴロゴロあります。

そういったときに、プログラムで関数を作成する作業はよく発生しますので覚えておきたいところです。

それでは今回はこのへんでノシ

シェアしてもらえるとうれしいです!

コメントを残す

ABOUT US

福岡でWindowsアプリケーション開発のお仕事してます。 お金に縛られない生活を目指して日々学んだことをOUTPUTしていきます。 主なテーマ ◆仕事経験から:AWS/Azure/C++/C#/Python/Ruby ◆資産形成に向けて:つみたてNISA/米国株/日本株/仮想通貨/ソーシャルレンディング ◆好きなこと:旅行/温泉/美味しいもの/布団の中 ◆目標:ブログを毎日更新目指します!