python的每個新版本都會增加一些新的功能,或者對原來的功能作一些改動。有些改動是不相容舊版本的,也就是在當前版本執行正常的**,到下乙個版本執行就可能不正常了。
具體說來就是,某個版本**現了某個新的功能特性,而且這個特性和當前版本中使用的不相容,也就是它在該版本中不是語言標準,那麼我如果想要使用的話就需要從future模組匯入。在2.1版本之前並沒有future,所以使用它會引發異常。當然,在以後的某個版本中,比如說3中,某個特性已經成為標準的一部分,那麼使用該特性就不用從future匯入了。
事例:from _future_ import absolute_import
python模組中的相對匯入,絕對匯入
相對匯入:在不指明 package 名的情況下匯入自己這個 package 的模組,比如乙個 package 下有 test1.py 和 test2.py 兩個檔案,在 test1.py 裡 from . import test2 即是相對匯入 test2.py。
絕對匯入:指明頂層 package 名。比如 import paname,python 會在 sys.path 裡尋找所有名為 paname的頂層模組。
關於Python中的yield
在介紹yield前有必要先說明下python中的迭代器 iterator 和生成器 constructor 一 迭代器 iterator 在python中,for迴圈可以用於python中的任何型別,包括列表 元祖等等,實際上,for迴圈可用於任何 可迭代物件 這其實就是迭代器 迭代器是乙個實現了迭...
關於Python中的yield
在介紹yield前有必要先說明下python中的迭代器 iterator 和生成器 constructor 一 迭代器 iterator 在python中,for迴圈可以用於python中的任何型別,包括列表 元祖等等,實際上,for迴圈可用於任何 可迭代物件 這其實就是迭代器 迭代器是乙個實現了迭...
關於Python中的yield
在介紹yield前有必要先說明下python中的迭代器 iterator 和生成器 constructor 一 迭代器 iterator 在python中,for迴圈可以用於python中的任何型別,包括列表 元祖等等,實際上,for迴圈可用於任何 可迭代物件 這其實就是迭代器 迭代器是乙個實現了迭...