随时间返回多个值

时间:2013-09-02 07:29:49

标签: python

好的,有没有办法从函数中返回一个值 - return的方式 - 而不是停止函数 - return的方式?< / p>

我需要这个,所以我可以经常保持返回值。 (time.sleep()或其他任何提供的延迟。)

2 个答案:

答案 0 :(得分:5)

我认为您正在寻找yield。例如:

import time

def myFunction(limit):
    for i in range(0,limit):
        time.sleep(2)
        yield i*i

for x in myFunction(100):
    print( x )

答案 1 :(得分:0)

def f():
  for i in range(10):
     yield i

g = f().next

# this is if you actually want to get a function
# and then call it repeatedly to get different values
print g()
print g()

print

# this is how you might normally use a generator
for i in f():
  print i

输出:

0
1

0
1
...
9