#!/usr/bin/python
# Filename: lambda.py
def make_repeater(n):
return lambda s: s*n
twice = make_repeater(2)
print twice('word')
print twice(5)
(源文件:code/lambda.py)
輸出
$ python lambda.py
wordword
10
它如何工作
這里,我們使用了 make_repeater 函數(shù)在運(yùn)行時創(chuàng)建新的函數(shù)對象,并且返回它。lambda 語句用來創(chuàng)建函數(shù)對象。本質(zhì)上,lambda 需要一個參數(shù),后面僅跟單個表達(dá)式作為函數(shù)體,而表達(dá)式的值被這個新建的函數(shù)返回。注意,即便是 print 語句也不能用在 lambda 形式中,只能使用表達(dá)式。