Python 入門

ホーム > 関数 > def による関数オブジェクトの作成

def による関数オブジェクトの作成

スポンサーリンク

def によって、関数オブジェクト (function object) を作成してそれに名前を付けることができます。 関数オブジェクトは ( ) を付けて呼ぶ (call) ことができます。

def 名前(引数1, 引数2, ..., 引数n):
     ステートメントブロック

例えば、次のように ad という名前の関数オブジェクトを定義し...

def add(x, y):
     return x + y

これを呼ぶときは、次のようにします。

print add(1, 3)

この結果は、1 と 3 の足し算ですから・・・

4

となります。

また、Python では動的に型が決まるので、次のように文字列を渡せば・・・

print add('Hello', ', world')

string の + 演算子は文字列の連結になりますから、その結果は次のようになります。

Hello, world

Python はオブジェクト指向のプログラミング言語で、関数もオブジェクトとして扱えます。

次のように bar という変数に add を代入し、bar を呼出すこともできます。

bar = add

print bar(10, 20)

また、条件によって関数オブジェクトの定義を変えることもできます。次の例では i の値によって foo の定義を切り替えています。

i = int(raw_input('Enter number: '))

if i == 1:
     def foo(x, y):
         return x + y
else:
     def foo(x, y):
         return x - y

print foo( 10, 5 )
スポンサーリンク
ホーム > 関数 > def による関数オブジェクトの作成