今天看到了Pyhon中的模塊__future__,查了一下資料,感覺這個module很有用。
從python2.1開始以后, 當一個新的語言特性首次出現在發行版中時候, 如果該新特性與以前舊版本python不兼容, 則該特性將會被默認禁用. 如果想啟用這個新特性, 則必須使用 "from __future__import *" 語句進行導入.
示例:
1. Python 2.7中也有一個 __future__ import 使得所有的字符串文本成為Unicode字符串。這就意味着\u轉義序列可以用於包含Unicode字符。
- from __future__ import unicode_literals
- s = ('am I a unicode?')
- print isinstance(s, unicode)
2. Python 2.7可以通過 import __future__ 來將2.7版本的print語句移除,讓你可以Python3.x的print()功能函數的形式。例如:
- from __future__ import print_function
- print('hello', end='\t')
3. 整數除法
- python 2.7中:>>>23/6 >>>3
- from __future__ import division 之后:
- >>>23/6 >>> 3.8333333333333335
4. with特性
from __future__ import with_statement
with open('test.txt', 'r') as f:
for line in f:
print line
with方式語句可以替換以前try..catch語句, 如果使用try..catch語句則為:
try:
f = open('test.txt', 'r')
for line in f:
print line
finally:
f.close()
而with代碼塊如果內部出現任何錯誤, 都將會自動調用close方法
Python中的__future__模塊還有很多功能,總之很強大
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------