您好,登錄后才能下訂單哦!
這篇文章主要介紹了使用python中__future__模塊的案例,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
“__future__”模塊的目的
關(guān)于版本的問(wèn)題,“__future__”目的是把下一個(gè)版本的特性導(dǎo)入到當(dāng)前版本,這樣我們就可以在當(dāng)前版本中測(cè)試一些新版本的特性,從而使得python未來(lái)版本的遷移更加容易。
“__future__”模塊的作用
future 語(yǔ)句是一種針對(duì)編輯器的指令,指明某個(gè)特定模塊應(yīng)當(dāng)使用在某個(gè)python發(fā)行版中成為標(biāo)準(zhǔn)特性的語(yǔ)法或語(yǔ)義。
future語(yǔ)句注意事項(xiàng)
future 語(yǔ)句必須在靠近模塊開頭的位置出現(xiàn)。只有以下內(nèi)容可以放在future語(yǔ)句之前。
1 、模塊的文檔字符串
2 、注釋
3 、空行
4 、其他future語(yǔ)句
關(guān)于__future__使用
(1)自python2.1起, 當(dāng)一個(gè)新的語(yǔ)言特性首次出現(xiàn)在發(fā)行版中, 如果該新特性與舊版本python不兼容, 則該特性將會(huì)被默認(rèn)禁止調(diào)用。如果想調(diào)用這個(gè)新特性, 則必須使用 “from __future__ import FeatureName”進(jìn)行導(dǎo)入
(2)future__模塊主要作用是提供某些將要引入的模塊(當(dāng)前版本不存在),而import則是引入已經(jīng)在該版本發(fā)布的模塊。如,python3版本之前print并不是一個(gè)函數(shù)。
print_function = _Feature((2, 6, 0, "alpha", 2), (3, 0, 0, "alpha", 0), CO_FUTURE_PRINT_FUNCTION)
(3)_future__這個(gè)模塊在2.1版本時(shí)才存在,若在此版本之前導(dǎo)入將產(chǎn)生異常。同時(shí),當(dāng)環(huán)境升級(jí)至以后的某個(gè)版本中,某個(gè)特性已經(jīng)成為標(biāo)準(zhǔn)的一部分,那么使用該特性就不用從__future__導(dǎo)入了。
nested_scopes = _Feature((2, 1, 0, "beta", 1), (2, 2, 0, "alpha", 0), CO_NESTED)
(4)避免因?yàn)榘姹镜母拢瑢?dǎo)致原有可正常運(yùn)行的代碼,出現(xiàn)異常。比如下面這行代碼在python2.7中可以運(yùn)行,但在python3.0中會(huì)異常。
print ‘xiaowukongqimotuo’
(5)from __future__ import FeatureName 必須在文件的開頭引用,否則會(huì)觸發(fā)SyntaxError異常
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享使用python中__future__模塊的案例內(nèi)容對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,遇到問(wèn)題就找億速云,詳細(xì)的解決方法等著你來(lái)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。