1.过程式编程
x = 2
y = 4
z = 8
xyz = x + y + z
xyz
上述代码每个过程都改变了程序的状态。
过程式编程,数据存储在全局变量中,并通过函数处理。示例如下:
rock = []
country = []
def collect_songs():
song = "Enter a song."
ask = "Type r or c. q to quit"
while True:
genre = input(ask)
if genre == "q":
break
if genre == "r":
rk = input(song)
rock.append(rk)
elif genre == ("c"):
cy = input(song)
country.append(cy)
else:
print("Invalid.")
print(rock)
print(country)
collect_songs()
分析:由于我们将程序的状态都存在全局变量中,如果程序慢慢变大就好碰到问题。程序规模扩大,可能会在多个函数中使用全局变量,我们很难记录都有哪些地方对一个全局变量进行了修改。例如:某个函数可能改变了一个全局变量的值,在后面的程序中又有一个函数改变了相同的变量,因为写第二个函数时程序忘记了已经在第一个函数中做了修改。会严重破坏程序的数据准确性。
弊端:程序功能变多,全局变量变多,最后随着程序规模变大需要修改变量,很快程序将无法维护。这种编程方式也会有副作用(side effects),其中之一就是会改变全局变量的状态。使用过程式