众所周知, Python语言以号称“简洁”著称, 但麻雀虽小, 五脏俱全, 简洁到令人发指的Python却并未因简洁而影响其强大的功能。 抛开语言的速度, C语言上百行代码实现的功能, 若使用Java语言, 或许能用一半C语言代码量也能实现, 但是若是使用Python实现, 没有夸张, 可能仅仅是寥寥数行!!!
下面让我们见识一下Python到底简洁到什么程度:
- 实现一个Sum函数计算数组之和
其他语言实现实现求和功能, 无外乎for, while循环, Python也不列外, Python可以用for循环, 和while循环计算求和, 但显然递归显然能使代码更加简洁:
def calculate_sum(array):
if array == []:
return 0
else:
return array[0] + calculate_sum(array[1:])
data = [0, 1, 2, 3, 4]
print(calculate_sum(data))
data1 = []
print(calculate_sum(data1))
data2 = [3]
print(calculate_sum(data2))
输出:
>>> 10
>>> 0
>>> 3
- 计算列表中元素的个数
Python中有内置的len()函数计算列表元素的个数, 但现在我们用递归的方式自己实现一下这个功能:
def calculate_count(array):
"""
递归计算数组元素的个数
:param array: 列表
:return: 返回列表元素个数
"""
if not array:
return 0
else:
return 1 + calculate_count(array[1:])
data0 = []
print(calculate_count(data0))
data1 = [3]
print(calculate_count(data1))
data2 = [3, 4, 6]
print(calculate_count(data2))
输出:
>>> 0
>>> 1
>>> 3