可爱的 Python: Python 中的函数编程
2007-03-29 12:05:55 来源:WEB开发网核心提示: 通常,我们的整个 main 程序可以是 map() 表达式和一系列完成程序所需要执行的函数,可爱的 Python: Python 中的函数编程(6),第一类函数的另一个方便的特性就是可以将它们放在一个列表中,while 的转换稍微复杂了一些,将在 while_block() 中修改全部内容
通常,我们的整个 main 程序可以是 map() 表达式和一系列完成程序所需要执行的函数。第一类函数的另一个方便的特性就是可以将它们放在一个列表中。
while 的转换稍微复杂了一些,但仍然可以直接进行:
清单 5. Python 中的函数 'while' 循环
# statement-based while loop
while
<cond>:
<pre-suite>
if
<break_condition>:
break
else
:
<suite>
# FP-style recursive while loopp
def
while_block
():
<pre-suite>
if
<break_condition>:
return
1
else
:
<suite>
return
0
while_FP =
lambda
: (<cond>
and
while_block())
or
while_FP()
while_FP()
while 的转换仍需要 while_block() 函数,它本身包含语句而不仅仅是表达式。但我们需要对该函数做进一步的消除(例如对模板中的 if/else 进行短路)。另外,因为循环主体(按设计)无法更改任何变量值,所以 <cond> 很难用在一般的测试中,例如 while myvar==7 (那么,将在 while_block() 中修改全部内容)。添加更有用条件的一个方法是让 while_block() 返回一个更有趣的值,然后将这个返回值与终止条件进行比较。有必要看一下这些消除语句的具体示例:
更多精彩
赞助商链接