関数とは
関数とは、ほかのコードから切り離され、名前がつけられたコードです。
任意の型、任意の入力引数をとり、任意の型、任意の個数の結果を出力します。
つまり、お金を入れてボタンを押したらジュースが出てくる自動販売機みたいなもの(?)
的確に例えるのは難しいですね。
関数の定義
ともあれ、まずは関数を定義する必要があります。
それでは、「リストの中の数字を偶数と奇数に分けてくれる関数」を定義してみます。
def calc(x):
odd, even = [], []
for number in x:
if number %2 == 0:
even.append(number)
else:
odd.append(number)
return even,odd
def
は definition(=定義) の略です。
clac
は適当につけた関数名
(x)
は引数(関数に渡す値のこと)です。関数を定義する時、ここにはどんなワードを入れても大丈夫のようですが、何も書かずに()
とするとエラーになります。
return
はこの関数が返す値のことです。even, odd の順番で返すという書き方になっています。
(それ以外の説明は、一つ前の記事を参照。)
return
について補足
例えば、return len(even)
と書けば、even
のリスト内にある要素の数を返すことができます。
関数の呼び出し
関数を呼び出して、リストの中身を偶数と奇数に分けてもらいましょう。
calc()
に引数を与えます。
numbers = list(range(1, 10))
# range(1,10) は1から10までの数字という意味
even, odd = calc(numbers)
print(even, odd)
"""
出力結果 : [2, 4, 6, 8] [1, 3, 5, 7, 9]
"""
このように関数は一度定義すると、他の引数にも利用することができるので大変便利です。