日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Python教程:__future__—-Future語句定義

__future__ —- Future 語句定義

源代碼: Lib/__future__.py

成都創(chuàng)新互聯(lián)從2013年成立,先為郟縣等服務(wù)建站,郟縣等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為郟縣企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。


__future__ 是一個(gè)真正的模塊,這主要有 3 個(gè)原因:

  • 避免混淆已有的分析 import 語句并查找 import 的模塊的工具。

  • 確保 future 語句 在 2.1 之前的版本運(yùn)行時(shí)至少能拋出 runtime 異常(import __future__ 會(huì)失敗,因?yàn)?2.1 版本之前沒有這個(gè)模塊)。

  • 當(dāng)引入不兼容的修改時(shí),可以記錄其引入的時(shí)間以及強(qiáng)制使用的時(shí)間。這是一種可執(zhí)行的文檔,并且可以通過 import __future__ 來做程序性的檢查。

__future__.py 中的每一條語句都是以下格式的:

 
 
 
 
  1. FeatureName = _Feature(OptionalRelease, MandatoryRelease,
  2. CompilerFlag)

通常 OptionalRelease 要比 MandatoryRelease 小,并且都是和 sys.version_info 格式一致的 5 元素元組。

 
 
 
 
  1. (PY_MAJOR_VERSION, # the 2 in 2.1.0a3; an int
  2. PY_MINOR_VERSION, # the 1; an int
  3. PY_MICRO_VERSION, # the 0; an int
  4. PY_RELEASE_LEVEL, # "alpha", "beta", "candidate" or "final"; string
  5. PY_RELEASE_SERIAL # the 3; an int
  6. )

OptionalRelease 記錄了一個(gè)特性首次發(fā)布時(shí)的 python 版本。

MandatoryRelases 還沒有發(fā)布時(shí),MandatoryRelease 表示該特性會(huì)變成語言的一部分的預(yù)測(cè)時(shí)間。

其他情況下,MandatoryRelease 用來記錄這個(gè)特性是何時(shí)成為語言的一部分的。從該版本往后,使用該特性將不需要 future 語句,不過很多人還是會(huì)加上對(duì)應(yīng)的 import。

MandatoryRelease 也可能是 None, 表示這個(gè)特性已經(jīng)被撤銷。

_Feature 類的實(shí)例有兩個(gè)對(duì)應(yīng)的方法,getOptionalRelease()getMandatoryRelease()。

CompilerFlag 是一個(gè)(位)標(biāo)記,對(duì)于動(dòng)態(tài)編譯的代碼,需要將這個(gè)標(biāo)記作為第四個(gè)參數(shù)傳入內(nèi)建函數(shù) compile() 中以開啟對(duì)應(yīng)的特性。這個(gè)標(biāo)記存儲(chǔ)在 _Feature 類實(shí)例的 compiler_flag 屬性中。

__future__ 中不會(huì)刪除特性的描述。從 Python 2.1 中首次加入以來,通過這種方式引入了以下特性:

特性

可選版本

強(qiáng)制加入版本

效果

nested_scopes

2.1.0b1

2.2

PEP 227: 靜態(tài)嵌套作用域

generators

2.2.0a1

2.3

PEP 255: 簡(jiǎn)單生成器

division

2.2.0a2

3.0

PEP 238: 修改除法運(yùn)算符

absolute_import

2.5.0a1

3.0

PEP 328: 導(dǎo)入:多行與絕對(duì)/相對(duì)

with_statement

2.5.0a1

2.6

PEP 343: “with” 語句

print_function

2.6.0a2

3.0

PEP 3105: print 改為函數(shù)

unicode_literals

2.6.0a2

3.0

PEP 3112: Python 3000 中的字節(jié)字面值

generator_stop

3.5.0b1

3.7

PEP 479: 在生成器中處理 StopIteration

annotations

3.7.0b1

TBD 1

PEP 563: Postponed evaluation of annotations

1

先前計(jì)劃在 Python 3.10 中強(qiáng)制使用 from __future__ import annotations ,但Python指導(dǎo)委員會(huì)兩次決定推遲這一改變( Python 3.10 的公告 ; Python 3.11 的公告 )。目前還沒有做出最終決定。參見 PEP 563 和 PEP 649 。

參見

future 語句

編譯器怎樣處理 future import。


分享名稱:創(chuàng)新互聯(lián)Python教程:__future__—-Future語句定義
鏈接URL:http://www.5511xx.com/article/dhgihdj.html