कुछ शानदार जवाब पहले से ही हैं, लेकिन उनमें से कोई भी इस __future__बात की पूरी सूची को संबोधित नहीं करता है कि वर्तमान में कथन क्या समर्थन करता है।
बस रखो, बयान भाषा के नए लक्षणों का उपयोग करने के अजगर दुभाषिए बाध्य करती है।__future__
वर्तमान में इसका समर्थन करने वाली विशेषताएं निम्नलिखित हैं:
nested_scopes
पायथन 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
क्लासिक विभाजन का उपयोग पायथन 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की आवश्यकता को समाप्त करने के लिए try/finallyबयान को पायथन में एक कीवर्ड के रूप में जोड़ता है । इसका सामान्य उपयोग फ़ाइल I / O करते समय होता है जैसे:
with open('workfile', 'r') as f:
read_data = f.read()
print_function:
स्टाइल स्टेटमेंट के print()बजाय पायथन 3 कोष्ठक-शैली फ़ंक्शन कॉल का उपयोग करने के लिए print MESSAGEमजबूर करता है।
unicode_literals
bytesवस्तु के लिए शाब्दिक वाक्य रचना का परिचय देता है । मतलब यह है कि इस तरह के बयान के रूप में bytes('Hello world', 'ascii')बस व्यक्त किया जा सकता है b'Hello world'।
generator_stop
StopIterationअपवाद के साथ जनरेटर कार्यों के अंदर उपयोग किए गए अपवाद का उपयोग करता RuntimeErrorहै।
ऊपर वर्णित एक अन्य उपयोग यह नहीं है कि इस __future__कथन के लिए पायथन 2.1+ दुभाषियों के उपयोग की भी आवश्यकता है क्योंकि पुराने संस्करण का उपयोग करने से रनवे का अपवाद समाप्त हो जाएगा।
संदर्भ