Python Yield的用法说明

2019-03-13  本文已影响0人  Joshua_精东

Yield个人理解主要用于大数量时节省内存使用

例如:

# 省内存写法
def foo(num):
    print("starting...")
    while num < 10000:
        num=num+1
        yield num
    return


for n in foo(0):
    print(n)

VS

# 不省内存写法
for n in range(10000):
    print(n)

Yeild有两个函数next(foo())和foo().send()

例如:

def foo():
    print("starting...")
    while True:
        res = yield 4
        print("res:",res)
g = foo()
print(next(g))
print("*"*20)
print(g.send(7))
上一篇下一篇

猜你喜欢

热点阅读