12 python语言语句块的标记是_7. 简单语句
7.11.1.future 語句?
future 語句 是一種針對編譯器的指令,指明某個特定模塊應當使用在特定的未來某個 Python 發行版中成為標準特性的語法或語義。
future 語句的目的是使得向在語言中引入了不兼容改變的 Python 未來版本的遷移更為容易。 它允許基于每個模塊在某種新特性成為標準之前的發行版中使用該特性。
future_stmt ::= "from" "__future__" "import" feature ["as" identifier]
("," feature ["as" identifier])*
| "from" "__future__" "import" "(" feature ["as" identifier]
("," feature ["as" identifier])* [","] ")"
feature ::= identifier
future 語句必須在靠近模塊開頭的位置出現。 可以出現在 future 語句之前行只有:
模塊的文檔字符串(如果存在),
注釋,
空行,以及
其他 future 語句。
The features recognized by Python 3.0 are absolute_import, division,
generators, unicode_literals, print_function, nested_scopes and
with_statement. They are all redundant because they are always enabled, and
only kept for backwards compatibility.
future 語句在編譯時會被識別并做特殊對待:對核心構造語義的改變常常是通過生成不同的代碼來實現。 新的特性甚至可能會引入新的不兼容語法(例如新的保留字),在這種情況下編譯器可能需要以不同的方式來解析模塊。 這樣的決定不能推遲到運行時方才作出。
對于任何給定的發布版本,編譯器要知道哪些特性名稱已被定義,如果某個 future 語句包含未知的特性則會引發編譯時錯誤。
直接運行時的語義與任何 import 語句相同:存在一個后文將詳細說明的標準模塊 __future__,它會在執行 future 語句時以通常的方式被導入。
相應的運行時語義取決于 future 語句所啟用的指定特性。
請注意以下語句沒有任何特別之處:
import __future__ [as name]
這并非 future 語句;它只是一條沒有特殊語義或語法限制的普通 import 語句。
在默認情況下,通過對Code compiled by calls to the 內置函數 exec() 和 compile() 的調用所編譯的代碼如果出現于一個包含有 future 語句的模塊 M 之中,就會使用 future 語句所關聯的語法和語義。 此行為可以通過 compile() 的可選參數加以控制 — 請參閱該函數的文檔以了解詳情。
在交互式解釋器提示符中鍵入的 future 語句將在解釋器會話此后的交互中有效。 如果一個解釋器的啟動使用了 -i 選項啟動,并傳入了一個腳本名稱來執行,且該腳本包含 future 語句,它將在交互式會話開始執行腳本之后保持有效。
參見
PEP 236 - 回到 __future__有關 __future__ 機制的最初提議。
總結
以上是生活随笔為你收集整理的12 python语言语句块的标记是_7. 简单语句的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python列表、元组、字典和集合的算法
- 下一篇: zedgraph支持游标吗_经典格斗游戏