python


3、from __future__ import * 的作用

<p>python中 from <strong>future</strong> import * 的作用</p> <pre><code>我们在读代码的时候,总是会看到代码开头会加上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" &gt;&gt;&gt; print "Hello World" File "&lt;stdin&gt;", line 1 print "Hello World" ^ SyntaxError: invalid syntax 除了print函数,__future__模块还有很多其他功能, 1. 整数除法 # python 2.x 5/2 &gt;&gt;&gt; 2 from __future__ import division 5/2 &gt;&gt;&gt; 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 </code></pre>

页面列表

ITEM_HTML