はじめに
今回は関数定義を扱います。データ分析をしているときにも、繰り返しおこなう処理などは関数を定義しておいた方が楽なことが多いですよね。これまでの投稿でも、普通に関数を定義して使っていましたが、一度、まとめておきましょう(簡単です)。
関数定義
Python では、関数を次のような書式で定義します。
def 関数名(引数, ...):
関数が受け取る値を引数といいます。:
以降が関数定義の本体となります。ここに処理したい内容を記述していきます。最後の
return 式
の部分はreturn文といいます。return文は、return
に続く式の評価結果を、関数の呼び出し元に返して(これを返値と言います)、関数を終了するという意味を持ちます。この関数を、入力となる引数とともに呼び出すと、return
の後の式の評価結果を返値として返します。
早速やってみましょう。次の例は与えた3つの数を足し合わせる関数です、」
def sum_number(a,b,c):
answer=a+b+c
return answer
この関数には引数が3つあります。この関数を使うには、3つの引数を与えて次のようにつかいます。
sum_number(10,13,8)
関数定義の本隊部分に「answer」という変数があります。このような関数の中だけで利用可能な変数をローカル変数といいます。このローカル変数は、関数の外で参照しようとしても、NameErrorとなり参照することができません。
もうひとつ、例をだしておきましょう。以前、年齢をカテゴリ化して年代として扱うときにlambda式をつかいました。これを関数化してみましょう。年齢を入れたら、年代を返す関数です。
def generation(age):
import math
generation=math.floor(age/10)*10
return generation
さっそく試してみましょう。
generation(36)
まとめ
いかがでしたか?簡単でしたね。ちょっとした処理でも関数化した方がすっきりして見やすいコードになることがあります。何度も繰り返すような処理は関数化する癖をつけるとよいですね。
コメント