Pythonの関数入門(定義・引数・戻り値の基礎)

python logo notext.svg

Pythonの関数は、処理をひとまとまりにして再利用できる便利な仕組みです。同じ処理を何度も書く必要がなくなり、コードをシンプルで分かりやすく保つことができます。本記事では、関数の定義・引数・戻り値といった基本をやさしく解説します。

Pythonの導入についてはこちら。

Python入門:最初のプログラムを作って実行する方法 – Lean Data Office

Python環境構築のやり方|初心者向け完全ガイド – Lean Data Office

関数は「機械」のようなものだと考えることができます。例えばトースターのようなものです。パンを入れると、トーストが出てきます。つまり、パンに対して「焼く」という処理(関数)が適用されるわけです。

では、パンではなく菓子パンを入れたらどうなるでしょう?パンではありませんが、トースターはそれでも焼くことができます。ちゃんと焼きあがった菓子パンが出てきます。

ではレンガを入れたらどうでしょう?あるいは牛乳を入れたら?もしこのトースターがもっと良く作られていれば、こういった入力にも対応できるかもしれませんね。

ではコードに戻りましょう。

これまでにいくつかの関数を見てきました。例えば:

print('Hello, World!')
image

この print は関数です。関数には名前(print)があり、かっこの中に入力(引数)を書くことができます。これはパンをトースターに入れることに似ています。この場合の引数は "Hello, World!" です。

関数の定義

Pythonでは自分で関数を作ることもできます。

変数と似ていますが、def(definitionの略)というキーワードを使います。

def multiplyByThree(val):
    return 3 * val

ここで:

  • val は引数(入力)
  • コロン(:)の後はインデントして処理を書く
  • return は結果を返す

この関数を呼び出すと:

multiplyByThree(4)
image

12が返ってきます。

引数を複数にすることもできます:

image
image

値を返さない関数

関数は必ずしも値を返す必要はありません。

例えば:

a = [1,2,3]

def appendFour(myList):
    myList.append(4)
image

この関数は値を返していませんが、リストを書き換えています。

image

実は print も値を返しません。

print("hello")

画面に表示するだけ

もし:

print(print('Hello, World!'))

とすると、

image
が表示されます。

これは print 関数が Noneを返している ためです。

補足:None

Noneとは、

  • 特別な値
  • 「値がない」ことを表す

他の言語の nullundefined に近いものです。

よって、

None + 1

はエラーになります。

image

関数は、プログラムの処理を整理し、再利用性を高めるための重要な要素です。引数を使うことで柔軟に入力を受け取り、returnによって結果を返すことができます。また、returnを使わない関数やNoneの扱いについて理解することも大切です。これらの基礎を押さえることで、より実践的なプログラム作成につながります。

筋トレとオートメーションが趣味。 モバイルアプリ個人開発者。 データ処理・可視化とレポートにハマり備忘録と情報共有のためにブログ開設し運営している。