まあ、私はラムダ関数について読み込もうとしましたが、そのフローとPythonインタープリターによる処理方法についていくつかの質問を説明するリンクを見つけられなかったか、正しく理解できなかった可能性があります. いくつか質問があります。誰かが私のためにそれらを明確にしてください。コードは次のとおりです。
def f1(n):
print 'in f1, value is : ', n
return lambda x: x+n
if __name__ == '__main__':
f= f1(100)
print f(1)
print f(3)
print f1(10)
print f(5)
print type(f1)
出力は次のとおりです。
in f1, value is : 100
101
103
in f1, value is : 10
<function <lambda> at 0x019C66B0>
105
<type 'function'>
私の質問は:
- Forステートメント
f(1)とWhyステートメントが呼び出されなかった、および呼び出されたときに、f(3)なぜlambda ステートメントがコンパイルされなかったのか。printf1(100) - 関数内の
xとの関係は何ですか。nf1 f(5)15 ( 10 + 5) になると思いました- 説明してください
print f1(10) lambda x:また、ここでの意味を教えてください。このブロックの x 名ですか? 説明してください。
皆さんありがとう。