【Python基础019】匿名函数lambda与关键字yield

1、lambda函数

        lambda函数被称为匿名函数,主要是指在程序中只调用一次或几次后就不需要再使用的函数,属于“一次性”函数,并且不需要def关键字来定义函数。其语法格式如下:

lambda argument: expression

        其中,arguments是函数参数,expression是函数体中的表达式。Lambda函数可以有任意数量的参数,但只能有一个表达式。

        例如,求两数之和

f = lambda x, y : x+y

print(f(2, 3)

        求两数的平方和

print(lambda x, y: x**2 + y **2)(3, 4))

2、关键字yield

        yield关键字可以将函数执行的中间结果返回但不结束程序。主要用于定义生成器函数(generate),生成器函数是一种特殊类型的函数,它可以在迭代过程中产生一个序列的值。生成器函数在每次迭代时产生一个值,并暂停执行,等待下一次迭代。

        使用yield关键字定义的生成器函数,可以使用next(X)来显示结果。

        每次迭代时,生成器函数会从上一次yield语句的位置开始执行,直到遇到下一个yield语句或函数结束。

例如

def fibonacci():

    a, b = 0, 1

    while True:

        yield a

        a, b = b, a + b
    

fib = fibonacci()

print(next(fib)) # 输出:0

print(next(fib)) # 输出:1

print(next(fib)) # 输出:1

print(next(fib)) # 输出:2

print(next(fib)) # 输出:3

        在上述例子中,fibonacci()函数是一个生成器函数,使用yield关键字返回斐波那契数列中的每个值。每次调用next(fib)时,生成器函数会从上一次yield语句的位置继续执行,并返回下一个值。

你可能感兴趣的:(Python基础,python,开发语言)