2011-08-28 7 views

उत्तर

24

नहीं और हाँ।

official Python 2.7.2 grammar के अनुसार, from शब्द की एकमात्र घटना import_from खंड में है, इसलिए नहीं।

Python 3.1.3 grammar में एक नया खंड

raise_stmt: 'raise' [test ['from' test]] 

दिखाए जाते हैं इसलिए हाँ।

12

पायथन 2.x में, from का एकमात्र उपयोग from x import y कथन के लिए है। हालांकि, अजगर 3.x के लिए, यह संयोजन के रूप में raise बयान, जैसे के साथ प्रयोग किया जा सकता है:

try: 
    raise Exception("test") 
except Exception as e: 
    raise Exception("another exception") from e 
+0

यह क्या करता है, बिल्कुल? मूल अपवाद किसी भी तरह से जबरन जंजीर है? ऐसा लगता है कि मेरे लिए असंवेदनशील है; इसे एक कन्स्ट्रक्टर पैरामीटर के रूप में स्पष्ट रूप से लेने के लिए बेहतर है ... तो निश्चित रूप से यह कुछ और करता है? –

+0

व्यक्तिगत रूप से मैंने इसका कभी भी उपयोग नहीं किया है - मुझे पता है कि यह अस्तित्व में है, और इसका उद्देश्य एक अपवाद बढ़ाने के लिए होना है जो सीधे किसी अन्य के कारण होता है। – rfw

3

निम्नलिखित उपयोग

from __future__ import some_feature 

वाक्य रचना एक आयात बयान के समान है लेकिन बजाय एक आयात करने की मॉड्यूल, some_feature के मान के आधार पर, यह कुछ फैशन में दुभाषिया के व्यवहार को बदलता है।

उदाहरण के लिए, from __future__ import with_statement भले ही with बयान अजगर 2.6 जब तक भाषा शामिल नहीं किया गया, तो आप अजगर 2.5 में पायथन के with कथन का उपयोग करने के लिए अनुमति देता है। चूंकि यह स्रोत फ़ाइलों के विश्लेषण को बदलता है, इसलिए किसी भी __future__ आयात स्रोत फ़ाइल की शुरुआत में प्रकट होना चाहिए।

अधिक जानकारी के लिए __future__ statement documentation देखें।

और अजगर संस्करणों संभव __future__ आयात की एक सूची वे में उपलब्ध हैं के लिए __future__ module documentation देखें।

+1

क्या आप इसे किसी अन्य प्रश्न के उत्तर के रूप में पोस्ट करना चाहते थे? ऐसा लगता है कि यह केवल एक से संबंधित है ... –

+0

असल में, यह '__future__' मॉड्यूल से भी आयात करता है। –

+2

@ करल: नहीं, मैंने नहीं किया। हां, '__future__' एक मॉड्यूल है, और' __future__' से आयात करना एक आयात विवरण है। लेकिन मेरा मुद्दा यह है कि भविष्य से आयात करते समय वाक्य रचनात्मक रूप से किसी भी अन्य आयात के समान होता है, * अर्थशास्त्र * वेनिला आयात से अलग होते हैं। यह सिर्फ अन्य प्रतीक नामों को आयात नहीं कर रहा है, यह एक महत्वपूर्ण तरीके से दुभाषिया के व्यवहार को भी बदल रहा है। –

संबंधित मुद्दे