命令式程序举例:
def add(a, b):
return a + b
def fancy_func(a, b, c, d):
e = add(a, b)
f = add(c, d)
g = add(e, f)
return g
fancy_func(1, 2, 3, 4)
输出:
在运行语句e = add(a, b)
时,Python会做加法运算并将结果存储在变量e
中,从而令程序的状态发生改变。类似地,后面的两条语句f = add(c, d)
和g = add(e, f)
会依次做加法运算并存储变量。
虽然使用命令式编程很方便,但它的运行可能很慢。一方面,Python会重复执行调用fancy_func
函数中的add
函数三次,一方面,我们需要保存变量e
和f
的值直到fancy_func
中所有语句执行结束。这是因为在执行e = add(a, b)
和f = add(c, d)
这2条语句之后我们并不知道变量e
和f
是否会被程序的其他部分使用。
与命令式编程不同,符号式编程通常在计算流程完全定义好后才被执行。通常,符号式编程的程序需要下面3个步骤