首页 > 编程语言 >Python | Python中 from __future__ import * 的作用

Python | Python中 from __future__ import * 的作用

时间:2022-11-18 10:58:15浏览次数:40  
标签:__ Python future import print World Hello

我们在读代码的时候,总是会看到代码开头会加上from __future__ import *这样的语句。这样的做法的作用就是将新版本的特性引进当前版本中,也就是说我们可以在当前版本使用新版本的一些特性。
__future__是py2的概念,对应py2,py3就是future,这是为了在是py2的时候还能用到一些新版本的特性而做成的包。
意思禁用py2的import特性改成用py3的import的特性,把下一个新版本的特性导入到当前版本,于是我们就可以在当前版本中测试一些新版本的特性。

想查看有哪些新特性,可以使用下面的代码:

# python 3.8.12
>>> import __future__
>>> print(__future__.all_feature_names)
['nested_scopes', 'generators', 'division', 'absolute_import', 'with_statement', 'print_function', 'unicode_literals', 'barry_as_FLUFL', 'generator_stop', 'annotations']

例如,在python2.x和python3.x中print的标准写法分别是:

# python 2.x
print "Hello World"
 
# python 3.x
print("Hello World")

如果你想用python2.x体验python3.x的写法,就可以使用from __future__ import print_function来实现:

# python 2.x
from __future__ import print_function
print("Hello World")

而这时候如果再使用原来python2.x的标准写法就会报错:

# python 2.x
from __future__ import print_function
print "Hello World"
 
>>> print "Hello World"
  File "<stdin>", line 1
    print "Hello World"
                      ^
SyntaxError: invalid syntax

除了print函数,__future__模块还有很多其他功能。
未完待续。。。。。。

标签:__,Python,future,import,print,World,Hello
From: https://www.cnblogs.com/zhang-lunqi/p/16902450.html

相关文章

  • js当replace替换的字符是正则表达式时如:$
    今天做项目碰到一个问题:将'姓名:${name}性别:${sex}'  转化为'姓名:张三性别:男',只是用repace的时候是没有问题的如:letstr='姓名:${name}性别:${sex}'newStr=......
  • 等保2级 VS 3级测评项(管理部分)
    标记注释:    是否适用:Y-适用,N-不适用    权重标识:一般,重要,关键注意:三级几乎包含了所有二级测评内容(除安全运维管理->恶意代码防范管理中,有两项为二级特有测评项......
  • 3.2文法与语言
    1、文法生成语言推导定义:当αAβ直接推导出αγβ,即αAβ⇒αγβ,仅当A→γ是一个产生式,且α,β∈(VT∪VN)*。注:按照我的理解是两个字符串的推导。如果α1⇒α2⇒…⇒αn,......
  • MSSQL—列记录合并成一行
    在项目开发中,有时会碰到将列记录合并为一行的情况,例如根据地区将人员姓名合并,或根据拼音首字母合并城市等,下面就以根据地区将人员姓名合并为例,详细讲一下合并的方法。首先......
  • 注意 ! !|95% 的应用程序中发现错误配置和漏洞
    业内权威机构Synopsys最近发布了一项研究报告,结果表明在进行4300次测试后,发现95%的应用程序中都至少都有一个影响安全的漏洞或配置错误,其中高危漏洞占20%,严重漏洞则占4.5......
  • win10安装cuda、cuDNN和pytorch笔记
    特别注意:由于自己安装时没有做记录,所以下面大部分安装步骤图片都是参考的网络图,但不影响阅读,每一步都讲得很详细1.安装CUDA1.1查看自己显卡最高支持的CUDA版本在桌面......
  • 2022-11-17 纳斯达克指数,1分钟级别笔的开始结束
    所有的结构都是从1分钟发出来的。如何判定1分钟笔的结束,掌握之后,也可以用于判定5分钟级别甚至日线级别笔的结束。日线:已经有顶分型30分钟:中枢形成5分钟:处于中枢中1分钟......
  • record_transformer插件的作用?
    在fluentd的配置文件中,有如下的配置: #http://<ip>:9880/myapp.access?json={"event":"data"}<source>@typehttpport9880</source><filtermyapp.**>@ty......
  • TreeUtils工具类一行代码实现列表转树 实战Java8 三级菜单 三级分类 附视频
    一、序言在日常一线开发过程中,总有列表转树的需求,几乎是项目的标配,比方说做多级菜单、多级目录、多级分类等,有没有一种通用且跨项目的解决方式呢?帮助广大技术朋友给业务瘦......
  • git常用功能
    git秘钥使用:在.ssh 目录下右键打开GitBash(.ssh目录不存在,手动创建)生成秘钥:ssh-keygen-trsa-C"[email protected]" ,直接Enter就行,然后会提示输入密码(......