パラメータと戻り値
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")