มีคำตอบที่ยอดเยี่ยมอยู่แล้ว แต่ก็ไม่มีคำตอบใดที่แสดงรายการที่สมบูรณ์ของ__future__
คำสั่งในปัจจุบัน
กล่าวง่ายๆคือการ__future__
บังคับให้ล่าม Python ใช้คุณสมบัติใหม่ของภาษา
คุณสมบัติที่รองรับในปัจจุบันมีดังต่อไปนี้:
nested_scopes
ก่อนหน้า Python 2.1 รหัสต่อไปนี้จะเพิ่มNameError :
def f():
...
def g(value):
...
return g(value-1) + 1
...
from __future__ import nested_scopes
สั่งจะอนุญาตให้มีคุณลักษณะนี้เพื่อเปิดใช้งาน
generators
ฟังก์ชั่นเครื่องกำเนิดไฟฟ้าที่แนะนำเช่นด้านล่างเพื่อบันทึกสถานะระหว่างการเรียกใช้ฟังก์ชันต่อเนื่อง:
def fib():
a, b = 0, 1
while 1:
yield b
a, b = b, a+b
division
การแบ่งแบบคลาสสิกถูกใช้ในเวอร์ชัน Python 2.x หมายความว่าคำสั่งการหารบางรายการส่งคืนการประมาณแบบสมเหตุสมผลของการหาร ("การหารที่แท้จริง") และการอ้างถึงส่วนอื่น ๆ ส่งคืนพื้น ("การหารชั้น") เริ่มต้นในหลาม 3.0 ส่วนความจริงจะถูกระบุโดยในขณะที่ส่วนชั้นที่ระบุไว้โดยx/y
x//y
from __future__ import division
กองกำลังสั่งการใช้งานของงูหลามส่วน 3.0 สไตล์
absolute_import
อนุญาตให้วงเล็บล้อมหลายimport
คำสั่ง ตัวอย่างเช่น:
from Tkinter import (Tk, Frame, Button, Entry, Canvas, Text,
LEFT, DISABLED, NORMAL, RIDGE, END)
แทน:
from Tkinter import Tk, Frame, Button, Entry, Canvas, Text, \
LEFT, DISABLED, NORMAL, RIDGE, END
หรือ:
from Tkinter import Tk, Frame, Button, Entry, Canvas, Text
from Tkinter import LEFT, DISABLED, NORMAL, RIDGE, END
with_statement
เพิ่มคำสั่งwith
เป็นคำหลักใน Python เพื่อลดความต้องการtry/finally
คำสั่ง การใช้งานทั่วไปของสิ่งนี้คือเมื่อทำไฟล์ I / O เช่น:
with open('workfile', 'r') as f:
read_data = f.read()
print_function
:
บังคับให้ใช้print()
การเรียกฟังก์ชันวงเล็บสไตล์ Python 3 แทนprint MESSAGE
คำสั่ง style
unicode_literals
แนะนำไวยากรณ์ตัวอักษรสำหรับbytes
วัตถุ ความหมายว่างบเช่นสามารถแสดงเป็นเพียงbytes('Hello world', 'ascii')
b'Hello world'
generator_stop
แทนที่การใช้StopIteration
ข้อยกเว้นที่ใช้ภายในฟังก์ชันตัวสร้างด้วยRuntimeError
ข้อยกเว้น
การใช้งานอย่างอื่นที่ไม่ได้กล่าวถึงข้างต้นคือ__future__
คำสั่งนั้นต้องการการใช้งาน Python 2.1+ ล่ามเนื่องจากการใช้รุ่นเก่าจะทำให้เกิดข้อยกเว้นรันไทม์
อ้างอิง