Python day twelve

   函数的扩展,高阶函数。函数名其实也是一个变量。能够在函数中的通过函数名进行调用,所以函数就能够进行调用。这样就可以实现在一个函数中,调用其他函数的作用,也就是高阶函数:

# 高阶函数
def f(n):
    return n*n
def foo(a, b, func):
    return func(a)+func(b)
print(foo(1, 2, f))

  这种调用方式,使得函数能够用起来更加的方便。

  函数的递归:递归函数,递归的调用一个函数,是一个循环的方式。但是总的来说这个是十分慢的,大致来说是它的复杂度是十分大的。但是也是一个十分重要的函数应用方式,也不是十分麻烦,现在给出十分出名的菲波那切数列作为参考:

# 0 1 1 2 3 5 8 13 21 34 55。。。。。。
def fibo(n):
    if n == 1:
        return 0
    elif n == 2:
        return 1

    return fibo(n-1)+fibo(n-2)
print(fibo(10))

  

  在python中是内置了很多的函数的,这里由于太多的了。我参考了些大佬的博客,看了一篇很好的。、

  转自:http://www.cnblogs.com/sesshoumaru/p/6140987.html#p1

  有几个比较重要的:

map:使用指定方法去作用传入的每个可迭代对象的元素,生成新的可迭代对象

>>> a = map(ord,'abcd')
>>> a
<map object at 0x03994E50>
>>> list(a)
[97, 98, 99, 100]

·  filter:使用指定方法过滤可迭代对象的元素

复制代码
>>> a = list(range(1,10)) #定义序列
>>> a
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> def if_odd(x): #定义奇数判断函数
    return x%2==1

>>> list(filter(if_odd,a)) #筛选序列中的奇数
[1, 3, 5, 7, 9]
原文地址:https://www.cnblogs.com/isaac-hu/p/8545774.html