1、yield关键字
包含了yield关键字的函数不是普通的函数。当含有这个关键字的函数调用时,当运行到yield这个关键字的时候,会返回一个迭代器。
def f():
i = 0
while i < 10:
yield i
i += 1
print [x for x in f()]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
2、assert关键字
assert的一般格式为:
assert test [,msg]
test是一个表达式,其值为True或False。如果test的求值是False,assert就会引发AssertionError异常并使用在assert中提供的可选消息msg。
note:assert语句用于检查的内容应该始终为真,如果assert语句引发异常,这就意味着程序有Bug,而不是用户数据出错。
语句用来声明某个条件是真的。
assert
例如,如果你非常确信某个你使用的列表中至少有一个元素,而你想要检验这一点,并且在它非真的时候引发一个错误,那么assert
语句是应用在这种情形下的理想语句。当assert语句失败的时候,会引发一个AssertionError
。
3、with关键字
with可以用来简化 try...except...finally 代码,看起来可以比try...except...finally更清晰。只要重载了__enter__() 和 __exit__(exc_type, exc_val, exc_tb) 方法,那么就可以用with 关键字调用。