【Python】関数を自作して呼び出す方法(def)

for文やif文を、テストで作成してきましたが、例えばこういった処理が他のプログラムでも使われる場合、何回も同じ処理を書くのは面倒ですよね。

Python(だけではないのですが)では、都度同じ処理を書くのではなく、関数化して必要な時に呼び出す。ということが可能です。

for文で作成したプログラムを参考に、関数の定義方法と呼び出し方(使い方)をまとめたいと思います。

【Python】繰り返し処理の基本と利用例(SQLiteに接続してfor文でデータ取得する)

2022年10月12日

目次

関数とは?

関数とは、ある特定の処理を、ひとまとめにしたもの。のことです。

言葉では定義しにくいのですが、今まで、【print()】などを利用してきました。

print()の、(…)の中に文字を記載しておくことによって、表示したい文字列を画面に出力できましたね。

こういった処理は、Pythonがあらかじめ用意してくれているものを組み込み関数と言います。

また、組み込み関数以外にも、自分で必要な処理を記述しオリジナルの関数を作成することが可能です。

プログラムを書いていると、同じ処理が何度も登場する場合があります。
同じことを別のプログラムでなん度も記載してしまうと、不具合の元ですし、改修する場合も手間がかかります(どこに書いたかわからなくなってしまったり)。

禄太
なので、システム内で何回も使いたい処理があった場合は、一つにまとめましょう!ということです。
例えば、【計算をする処理】と、【結果を出力する処理】を分けて関数にすることによって、長い処理を分割することができます。

こういった、一つの長い処理を、複数の関数に分けて処理させることを、部品化といいます。

オリジナル関数の作成方法

def 関数名称():
    処理内容を記載する。

基本的な定義方法は上記の通りです。

【def】で、自分の好きな名前で関数名を記載し、2行目以降に必要な処理を記載していきます。

また、呼び出す際は、以下の通り関数名だけを記載すれば処理を実行してくれます。

関数名称()

サンプルコード

#関数化した処理
def test_func():
    for shirts in cur.execute("select * from clothes"):
        print(shirts)
#関数の呼び出し
test_func()

サンプルコードと実行結果(関数の定義のみ)

試しに、以前作成したfor文を【def】で関数化してみたいと思います。

TEST_Pythonのフォルダに、function_test.pyを作成し、コードを記述します。

test_func()で、呼び出すようにしていますが、今回は動作確認のためにコメントアウトして実行されないようにしています。

少し補足ですが、関数は呼び出されないと実行されません。

今までは、Pythonファイルをターミナルで実行することで、データベースの一覧を取得できていました。

しかし、for文を関数にしたことにより、関数の呼び出しがないと実行されないようになっています。

【実行結果:呼び出しなしコード】

ターミナル上で「python3 function_test.py」を実行しても、データベースの一覧が出力されていないことがお分かりいただけたでしょうか?

サンプルコードと実行結果(関数の呼び出しあり)

今度は、test_func()のコメントアウトを外してみました。

そうすることによって、関数が呼び出されて、def文以下のfor文が実行されるのがお分かりいただけるとおもいます。

【実行結果:呼び出しありコード】

EOF

関数の作成と呼び出しについてまとめました。

引数と戻り値を利用することにより、さらに複雑な処理を部品化し呼び出し・実行することができます。

次回、引数・戻り値についてもまとめたいと思います。

本日も一緒に学習してくださって、ありがとうございました!

また次回!

追伸:これからPythonを学ぶなら

これからPythonを学びたい!業務に活かせるように学習したい!という方ならば、まずはUdemyで学習を始めることをお勧めします。

Udemyでは、数多くの講師陣がITの知識やスキルアップのための解説動画を提供していて、現場でも役立つ知識が多数存在します。

禄太
私も、Udemyで学習しながらITのスキルを身につけ、仕事に役立てています。

特に、流行りもあるのだと思いますがPythonやAWSの講座は数が多く品質が高いものが多いです。

手前味噌ながら以下の記事で、主に初学者の方向けのお勧め講座のレビューをしていますので、ご参考にしていただけますと幸甚です。

脱初学者!!Udemy講座で徹底的に基礎を学んだので各講座のレビュー

2023年11月25日