1、lambda语句:lambda
语句被用来创建新的函数对象,并且在运行时返回它们。
# Filename: lambda.py
def
make_repeater
(n):
return lambda
s: s*n
twice = make_repeater(2
)
print
twice(
'word'
)
print
twice(
5
)
输出
$ python lambda.py
wordword
10
这里,使用了make_repeater
函数在运行时创建新的函数对象,并且返回它。lambda
语句用来创建函数对象。本质上,lambda
需要一个参数,后面仅跟单个表达式作为函数体,而表达式的值被这个新建的函数返回。注意,即便是print
语句也不能用在lambda形式中,只能使用表达式。
2、exec和eval语句
exec
语句用来执行储存在字符串或文件中的Python语句。例如,可以在运行时生成一个包含Python代码的字符串,然后使用exec
语句执行这些语句。
>>> exec 'print "Hello World"'
Hello World
eval
语句用来计算存储在字符串中的有效Python表达式。
>>> eval('2*3')
6
3、assert语句
assert
语句用来声明某个条件是真的。例如,如果非常确信某个使用的列表中至少有一个元素,而想要检验这一点,并且在它非真的时候引发一个错误,那么assert
语句是应用在这种情形下的理想语句。当assert语句失败的时候,会引发一个AssertionError
。
>>> mylist = ['item']
>>> assert len(mylist) >= 1
>>> mylist.pop()
'item'
>>> assert len(mylist) >= 1
Traceback (most recent call last):
File "<stdin>", line 1, in ?
AssertionError