パラメータと戻り値


Pythonの関数はdefキーワードによって定義し、returnキーワードによって値を返します。パラメータは関数名に続くtupleによって与えます。

(例)
def func(x) :
  y = x * x + 1
  return y

パラメータはデフォルト値を与えることができます。

(例)
def func(x = 0) :
  y = x * x + 1
  return y

この関数を呼び出すとき、パラメータを省略できます。その場合は、x = 0とみなされます。

(例)
>>>print f()
1

デフォルト値は定数だけでなく変数を指定できます。

(例)
a = 0
def func(x = a) :
  y = x * x + 1
  return y

パラメータや戻り値には、整数や実数だけでなくlistやmapも取ることができます。次の例はブール値のリストを反転する関数です。

(例)
# finction test
def reverse(x) :
 for i in range(0, len(x)) :
  if x[i] == 0 :
   x[i] = 1
  else :
   x[i] = 0
 return x

print reverse([1,0,0,1])

実行結果は[0,1,1,0]となります。

パラメータの数は可変にすることもできます。その場合はパラメータに*を付けます。その場合、そのパラメータはtupleとして扱われます。複数のパラメータがある場合、*を付けられるパラメータは最後のものだけです。

(例)
def prints(*args):
 print args

prints("a", "b", "c")

結果は次のようになります。

("a","b","c")