Python では、関数をパラメータとして渡すことができ、(JavaScript や C/C++ の関数ポインタと同様) 他の変数に割り当てることもできます。
JavaScript と同様に、Python は関数のネストをサポートしており、JavaScript のネストされた関数のアプリケーション モードは Python に適用できます。
コードをコピー コードは次のとおりです:
>>> デフォルト乗数(係数):
... def multiple(number):
... 数値 * 係数を返します
... 複数を返します
...
>>>
>>>乗数(3)(3)
9
>>>乗数(4)(3)
ネストされた関数と密接に関係しているのは、クロージャ機能です。簡単な例を次に示します。
コードをコピー
コードは次のとおりです:
>>> def テスト():
... a = {'名前': 'wyj'}
... def f():
...['名前']
を返します
... f
を返します
...
>>> def テスト():
... a = {'名前': 'wyj'}
... def f():
...['名前']
を返します
... a,f
を返します
...
>>> a,f = テスト()
>>>f()
「ワイジ」
>>> a['名前'] = 'ljq'
>>>f()
「ljq」
例 3
#! /usr/bin/python
def yao1(a=1,b=32):
def yao2(c=54):
def yao3(d=3):
def yao4(e=10):
return a+b+c+d+e
return yao4
return yao3
return yao2
print yao1()()()()
ログイン後にコピー