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. 简单语句相关推荐

  1. python语言句块的标记_Python语言语句块的标记是()

    [简答题] [单选题]Listen( 1.1-1) and answer: Karen Wood is ___________. [单选题]下列说法正确的是 ( ). [判断题]旅游的实质实人类追求自 ...

  2. python表示语句块采用_python中什么是语句块?

    在python中,语句块是在条件为真(条件语句)时执行或者执行多次(循环语句)的一组语句.在代码前放置空格来缩进语句即可创建语句块,语句块中的每行必须是同样的缩进量. Python的基本语法--语句块 ...

  3. 小白用python语言做自动化起步篇3 IF条件语句 记法:如果条件,否则

     这一刻开始要敲大量代码 1.注意要用英文模式敲代码,标点符号也要英文模式敲,也就除了汉字用中文模式,其他一定要英文模式. 2.检查有没有敲多敲少 . 1.Python的真假 1).任何非零和非空对象 ...

  4. 在 if...elif...else 的多个语句块中只会执行一个语句块?_如果 (If) | Python 中的条件控制语句详解...

    点击上方"可乐python说"关注公众号,点击右上角 "..."选择"设为星标"第一时间获取最新分享! 前言 Hi,大家好,我是可乐,生活中 ...

  5. python语言块标记_python语言语句块的标记是什么?

    python中没有明显的语句块标记,是通过缩进来识别语句块的.Python是一种跨平台的计算机程序设计语言:是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言:多被用于独立的.大型项目的开 ...

  6. python语言语句快的标记是什么_一文搞懂Python程序语句

    原标题:一文搞懂Python程序语句 程序流 Python 程序中常用的基本数据类型,包括: 内置的数值数据类型 Tuple 容器类型 String 容器类型 List 容器类型 自然的顺序是从页面或 ...

  7. python语言语块句的标记_Python的选择语句

    Python的选择语句和C的选择语句差不多,但是又有很多不一样的细节,下面我们一起来学习一下吧! 1.最简单的if语句 Python中使用if保留字来组成选择语句,其最简单的语法形式如下: if 表达 ...

  8. python语言基本语句-Python中的基本语句

    本文简单的介绍下Python的几个基本语句. print语句 print可同时打印多个表达式,只要将他们用逗号隔开. >>> name='Gumy' >>> gre ...

  9. python语言if语句-Python if else语句详解

    条件语句根据条件判断表达式的值决定后续运行程序的顺序.Python 中支持三种实质上大同小异的条件语句,分别是 if 语句.if-else- 语句和 if-elif-else-语句,本节教程就来具体介 ...

最新文章

  1. Numpy、TensorFlow和Keras函数输入参数axis理解
  2. 人工智能 | 自动驾驶与人工智能前沿研究报告(技术篇)
  3. 从零开始数据科学与机器学习算法-集成算法-10
  4. python在线投票系统 统计票数_python投票统计程序,统计序列中各个数值的份数,字典的应用。...
  5. linux 进程的执行时间,Linux 获取进程执行时间
  6. 优酷视频如何进行连续播放?
  7. 自检代码中trustmanager漏洞_通达OA远程代码执行漏洞通告
  8. 联想新电脑桌面没有计算机,联想电脑没有wifi图标不见了怎么办
  9. python做考勤表_考勤表下载免费后怎么制作?
  10. SVN提交失败 Can't write to file 'E:\Repositories\xqgf\db\txn-protorevs\3616-2y4.rev':
  11. 各大互联网大厂JAVA实习招聘岗位要求
  12. oracle autovue是什么软件,AutoVue
  13. Elasticsearch - Indices stats 获取索引级别的统计信息之三 【indexing】索引操作信息
  14. 面试后HR让你等通知的真相
  15. [WriteUp]unctf-web-fuzz_md5
  16. request + bs4 爬取网易云音乐热门评论
  17. 2021年衡水中学高考成绩查询,2016年衡水中学高考成绩出炉
  18. 微服务网关soul搭建
  19. P30鸿蒙ota升级,MotoP30 摩托罗拉P30 XT1943-1 线刷包 救砖解锁 CN_OPEN_USER_Q00020.0_O_ZUI_4.0.249...
  20. 浏览器检测麦克风音量

热门文章

  1. 文件菜单服务器属性,服务器属性(“数据库设置”页) - SQL Server | Microsoft Docs...
  2. linux安装12c oem,OEM12C(12.1.0.5)安装插件监控mysql(linux)
  3. BeyondCompare如何去掉时间戳的匹配(不比较时间)(没解决)
  4. linux ubuntu16.04 Clion 安装及快捷方式创建
  5. python help()函数(查看特定模块、关键词、函数等用法)
  6. 实现Telnet远程登录,利用Wireshark抓包分析
  7. Unfair contest 模拟-分类讨论
  8. 基于ffmpeg的流媒体服务器
  9. spring boot集成webservice接口
  10. Spring中的常用注解