
3.2
関数
75
リスト内包表記の中にリスト内包表記を書くこととは異なります。リスト内包表記の中にリスト内包表
記を書くこと自体も可能で次のようになります。
In [167]: [[x for x in tup] for tup in some_tuples]
Out[167]: [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
これを実行すると、すべての要素が平坦化されたリストではなく、リストのリストが生成されます。
3.2
関数
関数は、
Python
においてコードを構成し、再利用するための最も重要な方法です。もし同じことや
似たようなことを繰り返しているなという感覚があるときは、経験上、それを再利用可能な関数にする
価値があります。関数は、
Python
のひとまとまりの文に名前を付けることができるので、コードの可
読性を上げるのにも貢献します。
関数は
def
キーワードで宣言をして、
return
キーワードで戻ります。
def my_function(x, y, z=1.5):
if z > 1:
return z * (x + y)
else:
return z / (x + y)
複数の
return
文があっても問題はありません。
Python
は、
return
文にぶつかることなく関数の末尾
に到達した場合は、自動的に戻ります。
関数は位置引数とキーワード引数を持つことができます。キーワード引数が最も使われるのは、デ
フォルト値やオプション値を指定するときです。先ほどの関数の場合
x
と
y
は位置