抽象
当我们计算前10个斐波那契数
的时候, 下面的程序刚刚好。
fibonacci = [0, 1]
for _ in range(8):
fibonacci.append(fibs[-2] + fibs[-1])
print(fibonacci)
#result
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
如果我们想要计算前20个, 50个, 100个 ...... 斐波那契数
的时候, 难道每次都需要重新写上一遍上面的程序步骤吗?那样程序就太显冗余不易阅读了。
当然不, 程序员们当然不会也不想去做这种无味的工作。 那么该怎么办呢, 让程序抽象化起来
。如下:
print(calculate_fibonacci(num))
在这里,你只是告诉计算机去计算斐波那契数
, 这更能让程序被人理解和阅读
。看到程序,人就知道做了些什么。而具体的操作命令可以放在其他的地方(函数)去执行。
函数
函数
就是代码抽象的具体表达形式。Python是高级语言,自然也支持函数, 无论是自定义函数
还是内置函数(https://docs.python.org/3/library/functions.html)。
有了函数, 可以不用去写一些重复规律的程序, 只需要写一次, 多次被调用,节省大量的精力时间。 上面的需求可以写成如下:
#函数
def calculate_fibonacci(num):
fibonacci = [0, 1]
for _ in range(num-2):
fibonacci.append(fibonacci[-1] + fibonacci[-2])
return fibonacci
#抽象化, 多次调用函数。
print (calculate_fibs(5))
print (calculate_fibs(10))
#result
[0, 1, 1, 2, 3, 5, 8]
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]