日期:20170926
本目錄記錄的是,我用Python2不能正確運行,而Python3可以的。或者用Python2能正確運行,而Python3不可以的。
如果只是簡單學Python編程的,可以直接學Python3,因爲Python2貌似不更新了。
如果想深入學習Python或者以Python的工作的,那有很大機率會遇到Python 2的代碼,所以有必要知道Python 2和3的不同點。
當然,如果要用Python編程,最好選擇Python3,因爲這是趨勢。如果你編Python2,卻在另一臺機的Python環境出錯(現在大多是裝Python3),那就尷尬了,對不?
Python3生成器支持return
代碼,
#!/usr/bin/python3
def 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
1
2
3
[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。