python中 from __future__ import * 的作用

我们在读代码的时候,总是会看到代码开头会加上from __future__ import *这样的语句。这样的做法的作用就是将新版本的特性引进当前版本中,也就是说我们可以在当前版本使用新版本的一些特性。

例如,在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__模块还有很多其他功能,

1. 整数除法

# python 2.x
5/2
>>> 2

from __future__ import division
5/2
>>> 2.5

2. with 用法

# python 2.x
try:
    with open('test.txt', 'w') as f:
    f.write('Hello World')
finally:
    f.close()

# 用with替代上述异常检测代码:
from __future__ import with_statement
with open('test.txt', 'w') as f:
    f.write('Hi there!')

3. 绝对引入(absolute_import)

绝对引入主要是针对python2.4及之前的版本的,这些版本在引入某一个.py文件时,会首先从当前目录下查找是否有该文件。如果有,则优先引用当前包内的文件。而如果我们想引用python自带的.py文件时,则需要使用,

from __future__ import absolute_import

 

  • 65
    点赞
  • 103
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值