python中 return,print, yield的区别

def f1():
     for i in range(1,5):
          print i
         
 
def f2():
      for i in range(1,5):
          return i
      
 
def f3():
      for i in ragne(1,5):
          yield i         
 
In [9]: f1()
 1
 2
 3
 4
 
In [10]: f2()
Out[10]: 1
 
In [11]: f3()
Out[11]: <generator object f3 at 0x7f3a9aeb4f50>

从上面的输出结果可以得出结论:

1,print不会中断程序运行,不会中断输出。

2,return 返回值 并中断程序运行。

3,yield 返回一个生成器,遇见yield就会返回结果并暂停,然后接着运行遇见yield就会输出结果暂停....

posted @ 2017-03-06 10:42  刺激子  阅读(235)  评论(0)    收藏  举报