return:
import time
def sayHi2(**kargs):
for i in range(10):
time.sleep(1)
return 'loop', i
result = sayHi2(name='Alex', age=29, phone=1355434)
print result
print result
print result
运行结果为:
('loop', 0)
('loop', 0)
('loop', 0) ##这里return不会再往下执行,所以永远都是这个值
yield(只能在函数里用):
import time
def sayHi2(**kargs):
for i in range(10):
time.sleep(1)
return 'loop', i
result = sayHi2(name='Alex', age=29, phone=1355434)
print result.next()
print result.next()
print result.next()
运行结果为:
('loop', 0)
('loop', 1)
('loop', 2)
return 只返回一个最终结果。
yield返回的是程序执行中的各个时段的结果。