函数

2018-03-18  本文已影响0人  钟速

定义函数

def say(name, words = "你好")
    print(name + '->' + words)

收集参数

函数参数数不确定

def test(* params):
    print("有%d个参数" % len(params))
    print("第二个参数是:", params[1])

闭包

如果在一个内部函数里,对在外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数就被认为是闭包。

def funX(x):
    def funY(y):
        return x * y
    return funY

funX(8)(5)

输出40

lambda表达式

匿名函数,冒号左边为参数,右边为返回值。

g = lambda x, y : x + y
g(3, 4)

输出7

filter()

filter(None or function, iterable):将第二份可迭代数据里的每一个元素带入function中计算,把返回True的值筛选出来;如果第一个参数为None,筛选第二个参数中为True的元素。

map()

将序列的每一个元素作为函数的参数进行运算加工。
list(map(lambda x : x*2, range(5))) 输出 [0, 2, 4, 6, 8]

汉诺塔

def hanoi(n, x, y, z):
    if n==1:
        print(x, '-->', z)
    else:
        hanoi(n-1, x, z, y)
        print(x, '-->', z)
        hanoi(n-1, y, x, z)

斐波那契数列

def fib(n):
    a,b=1,0
    while n>0:
        b+=a
        a=b-a
        n-=1
    return b
上一篇 下一篇

猜你喜欢

热点阅读