《Pyhon入门:yield关键字常用用法》

时间:2024-10-24 22:23:00

yield 关键字和 return 关键字都可以用于返回值,但 yield 关键字返回的是一个生成器对象,而 return 关键字返回的是一个具体的值。例如:

def my_generator():
    yield 1
    yield 2
    yield 3

def my_function():
    return 1

gen = my_generator()
print(type(gen))  # 输出: <class 'generator'>
print(type(my_function()))  # 输出: <class 'int'>

在上面的代码中,my_generator() 是一个生成器函数,使用 yield 关键字返回三个值。my_function() 是一个普通函数,使用 return 关键字返回一个值。gen 是一个生成器对象,my_function() 的返回值是一个整数。

4.在Python中,yield from 关键字用于将一个生成器中的所有元素返回给调用者。它允许生成器将生成任务委派给另一个生成器。yield from 关键字的使用方法如下:

def gen1():
    yield 1
    yield 2
    yield 3

def gen2():
    yield 4
    yield 5
    yield 6 
    yield from gen1()

for i in gen2():
    print(i)

在上述代码中,gen2() 是一个生成器函数,使用 yield from 关键字将 gen1() 生成器中的所有元素返回给调用者。yield from gen1() 相当于 yield 1 yield 2 yield 3yield from gen1() 相当于 yield from (1,2,3)

yield from 关键字和 yield 关键字都可以用于返回值,但 yield from 关键字返回的是一个生成器对象,而 yield 关键字返回的是一个具体的值。例如:

def my_generator():
    yield 1
    yield 2
    yield 3

def my_function():
    return 1

gen = my_generator()
print(type(gen))  # 输出: <class 'generator'>
print(type(my_function()))  # 输出: <class 'int'>

在上述代码中,my_generator() 是一个生成器函数,使用 yield 关键字返回三个值。my_function() 是一个普通函数,使用 return 关键字返回一个值。gen 是一个生成器对象,my_function() 的返回值是一个整数。