轉載自https://www.cnblogs.com/bluescorpio/archive/2009/09/09/1563634.htmlhtml
今天在學習Python Cookbook的時候,發現一句語法from __future__ import division,很奇怪__future__這個名字,網上搜了一下,原來是頗有用的一個模塊。python
詳細說明見這裏。按照官方的解釋,至少確保在2.1以前版本的Python能夠正常運行一些新的語言特性,須要使用語句 'from __future__ import *'。舉例來講:
# Enable nested scopes in Python 2.1
from __future__ import nested_scopes
若是使用這個語句,則該語句必須是模塊或程序的第一個語句。此外,'__ future__' 模塊中存在的特性最終將成爲Python語言標準的一部分。到那時,將再也不須要使用 '__future__' 模塊。
更多示例:
1. Python 2.6中也有一個 __future__ import 使得全部的字符串文本成爲Unicode字符串。這就意味着\u轉義序列能夠用於包含Unicode字符。
from __future__ import unicode_literals
s = ('\u751f\u3080\u304e\u3000\u751f\u3054'
'\u3081\u3000\u751f\u305f\u307e\u3054')
print len(s) # 12 Unicode characters
2. Python 2.6能夠經過 import __future__ 來將print從語言語法中移除,讓你能夠使用函數的形式。例如:
from __future__ import print_function
print('# of entries', len(dictionary), file=sys.stderr)
3. 整數除法
python 2.5中:23/6 # 得3
from __future__ import division 以後:
23/6 # 得 3.8333333333333335函數