関数とメソッド

基礎編

 Pythonには、単純な足し算や引き算以外にも、便利な機能がたくさん用意されています。そういった便利な機能の多くは、関数 として利用できるようになっています。
関数 は、次の形式で利用します。

関数名(引数1, 引数2, 引数3, ...)

プログラミング用語では、関数を利用することを 「関数を呼び出す」 と言います。

引数

 関数を実行する時、必要に応じて 引数(ひきすう) を指定します。 例えば、abs() という名前の関数は、引数として数値を指定すると、その数値の絶対値が結果となります。次の例では、abs() に引数として数値の -200 を指定しています。

abs(-200)

戻り値

abs(-200) の結果として、-200 の絶対値である 200 が出力されています。
この 200 のように、関数を呼び出して求めた結果の値のことを、戻り値 や 返り値 などと呼びます。
上の例では、引数 として -200 を指定して関数 abs() を 呼び出し、その 戻り値 として、200 を得ています。

関数と演算子

関数は、 数値や + や - などの演算子とおなじように、 の一部として自由に使えます。 次の式は、abs() の引数として 100 + 200 を指定し、その結果を 2 で割り算しています。

abs(100 + 200) / 2

関数と変数

関数の引数として、変数も指定できます。 次の例では、

  1. 変数 minus_value に 100 * -1 の結果を代入
  2. minus_value を引数として、 abs() を呼び出す

という処理を行っています。

minus_value = 100 * -1
abs(minus_value)

関数の戻り値を、変数に代入するのも自由です。次の例は、abs() の戻り値を、変数 abs_value に代入しています。

abs_value = abs(10)
abs_value * 2  # abs(10) * 2 とおなじ

関数の例

以下に、Pythonで用意されている関数のごく一部を紹介します。かんたんに呼び出せるものばかりですので、実際にサンプルを打ち込んで、動かしてみてください。

round() 関数

round() 関数は、引数として実数(float型) の数値と、有効桁数を指定して、その桁数に丸めた値を結果として返します。引数は、次のように最初に数値、次に有効桁数の順に指定します。

round(数値, 有効桁数)

次の例は、float値 1.12 を、小数第一位で丸めます。

round(1.12, 1)

print() 関数

print() 関数は、引数として指定した値を画面に出力します。

print(42)

メソッド

メソッドは 関数の一種です。特定のデータに結びつき、

データ.メソッド名()

の形式で呼び出してデータを操作する関数を、メソッド と呼びます。
メソッド は、結びついている データ を対象として、処理を行います。例えば、

"lower letters".upper()

は、文字列データの lower letters に結び付けられた upper() メソッドを呼び出しています。upper() メソッドは、結びついているデータである lower letters を大文字に変換します。

一方、関数は、特定のデータには結びついておらず、操作する対象のデータを引数として指定します。たとえば、abs()関数。

もちろん、メソッドにも必要に応じて、引数をつけることが可能です。

データ.メソッド名(引数1, 引数2, 引数3, ...)