程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

python:from __future__ import 的含義

編輯:Python

__future__模塊是為了在當前版本python中使用新python3.x特性而加入的語法。

這個模塊裡包含了(對於當前版本而言)沒有加入當前版本python的新特性。

使用方法如下,在文件開頭書寫下面語句,否則會起SyntaxError

from __future__ import *

python的新特性會在某一個版本之後被強制地加入發行版本,但是沒被強制加入發行版本的特性是新舊兼容的。這個會在下文中提到。一些經典的特性見下表:

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

# 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']

下面是幾個例子:

1. print_function

在python2中,print函數長這樣:

# python2
print "hello world"

但是在python3中,print函數長這樣:

# python3
print("hello world")

在python2中,兩種寫法都是可以直接用的:

# python2
>>> print "hello world"
hello world
>>> print("hello world")
hello world

但是一旦使用了from __future__ import print_function語句,python2的語法就不再生效:

from __future__ import print_function
>>> print("hello world")
hello world
>>> print "hello world"
File "/home/0a506b14e8975b8a788846c5356abb76.py", line 4
print "Hello world"
^
SyntaxError: invalid syntax

2. division

python2中的除法/是地板除,即除數向下取整。但是python3裡的除法是精確除法:

# python2
>>> print 7 / 5
1
>>> print -7 / 5
-2
# In below python 2.x code, division works
# same as Python 3.x because we use __future__
>>> from __future__ import division
>>> print 7 / 5
1.4
>>> print -7 / 5
-1.4

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved