python3.5的运行结果是ok1 ok2吗?我用的python3.8运行结果是ok1 ok1,怎么回事?

def f():      
    print('ok1')
    yield 1        
    print('ok2')
    yield 2    
next(f())
next(f())

运行结果:

ok1
ok1

当然都是ok1

def f():      
    print('ok1')
    yield 1        
    print('ok2')
    yield 2    
itl = f()
next(itl)
next(itl)

这样才是ok1 ok2

问题解决的话,请点下采纳

楼上回答正解,而且低于py3.8的版本运行起来也是ok1 ok1。