Python 2和3的区别--生成器return

来源:互联网 发布:头戴耳机 知乎 编辑:程序博客网 时间:2024/06/01 09:19

日期:20170926


本目录记录的是,我用Python2不能正确运行,而Python3可以的。或者用Python2能正确运行,而Python3不可以的。

如果只是简单学Python编程的,可以直接学Python3,因为Python2貌似不更新了。
如果想深入学习Python或者以Python的工作的,那有很大几率会遇到Python 2的代码,所以有必要知道Python 2和3的不同点。

当然,如果要用Python编程,最好选择Python3,因为这是趋势。如果你编Python2,却在另一台机的Python环境出错(现在大多是装Python3),那就尴尬了,对不?


Python3生成器支持return

代码,

#!/usr/bin/python3def MyGenerator():        yield 1        yield 2        yield 3        return "done"Num=MyGenerator()print(next(Num))print(next(Num))print(next(Num))

运行,

[penx@ali01 python2]$ ./example_generator.py 123[penx@ali01 python2]$ 

结果,
正常运行。


Python2不可以

代码,
代码和上面的一样,只是开头用了Python2

运行,

[penx@ali01 python2]$ ./example_generator.py   File "./example_generator.py", line 7    return "done"SyntaxError: 'return' with argument inside generator[penx@ali01 python2]$ 

结果,
报错,

SyntaxError: ‘return’ with argument inside generator

说是在生成器不能有return


小结

Python3定义生成器时可用return。

原创粉丝点击