週末SEのメモブログ

日曜大工ならぬ日曜SEの備忘録

第5回:Pythonプログラミング入門 関数

関数は、入力値を受け取り、命令を実行、その結果を返すという一連の処理が書かれた複合文のことを言います。

関数はプログラム内で定義することで、何度でも呼び出す(利用)ことができます。

引数

上記の受け取られる「入力値」のことを引数を言います。一般的に「関数に引数を渡す」というような表現で引数の受け取りは表現されます。

関数の定義

[関数名] ([(カンマで区切られた複数の)引数]) 

Pythonでは上記の実行式で関数が表されます。定義の際は、関数名を決め、引数を定義し、出力(戻り値)を構文に沿って定義します。

# 構文

def [関数名]([引数]):

      [関数定義] 

具体的には下記のようになります。

def f(x):

    return x ** 2 

 def はPythonで関数を定義する際のキーワードです。これを宣言することでPythonにインデント下に関数が定義されていることを伝えられます。関数名の制約は変数名と同様です。強いて言うと関数名には大文字を使わず、単語と単語をアンダーバーで区切ります。例:add_this

関数名を決めたら丸カッコを後ろに記載します。カッコ内には関数で使用する引数を定義します。

丸カッコの後ろには、前述のif文と同様にコロンを書いて改行します。

改行後はインデント(半角スペース4つ)からPythonには関数の定義として受け取られます。

上記の例では、「return x ** 2」1行のみです。今回は関数の定義内容と戻り値が一緒に記載されているパターンなので分かりにくいですが、

関数内容・・・x(引数)を2乗する

戻り値 ・・・x(引数)を2乗した値

ということになります。

returnキーワードは関数f(x)が呼ばれたときに何を出力するか?を定義しています。

上記の例では、引数が1つの関数で紹介しましたが、関数には引数が1つのもの複数のもの、関数のないものが存在します。引数を必要としない関数を定義する場合、定義の際に丸カッコ内に何も書かずに定義します。

具体的には下記の通りです。

def f():

    return "サンプル"

sample = f()

print(sample)

 ここでは、「サンプル」という文字列を返すf()関数を定義し、sampleという変数にf()の戻り値(「サンプル」)を代入します。そして最後にsampleの値をprint関数で出力しています。