python特殊语句

来源:互联网 发布:上海淘宝公司 编辑:程序博客网 时间:2024/06/05 17:04

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


0 0
原创粉丝点击