2015-05-20 4 views
8

जब तक मैं गलत कर रहा हूँ, इन दो पंक्तियों बिल्कुल वही बात करते हैं:पायथन में आयात करने के लिए अनावश्यक तरीके क्यों हैं?

import theano.tensor as T 

from theano import tensor as T 

वहाँ किसी भी कारण है कि वहाँ पायथन में आयात करने के लिए अनावश्यक तरीके हैं है?

+0

समझा जा सकता है कि कैसे स्थिति होने के लिए आया था, लेकिन फिर सवाल क्यों था होगा एक दूसरे के ऊपर एक मानक बनने के लिए चुना? –

+0

वे सभी परिस्थितियों में * एक ही काम नहीं करते * ... – jonrsharpe

उत्तर

6

बयान

import theano.tensor 

केवल तभी theano.tensor एक मॉड्यूल ही है काम करता है। यह आपके उदाहरणों को काम करने की अनुमति देता है।

sys.argv पर विचार करें, जो एक मॉड्यूल नहीं है। निम्नलिखित काम करता है:

from sys import argv 

जो ग्लोबल नेम स्पेस में argv आयात करता है, लेकिन import प्रपत्र नहीं करता है:

>>> import sys.argv 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named argv 
+0

बहुत बढ़िया उत्तर, धन्यवाद। और नोब फॉलोअप के लिए, 'sys.argv' के लिए तकनीकी रूप से क्या नाम है यदि यह मॉड्यूल नहीं है? –

+0

तो आप कह रहे हैं कि हम डॉट नोटेशन का उपयोग केवल submodules तक पहुंचने के लिए कर सकते हैं, अन्यथा हम इस नोटेशन का उपयोग नहीं कर सकते ..? – nbro

+1

'sys.argv' किसी ऑब्जेक्ट का पूर्णतः योग्य नाम है (इस मामले में, 'सूची' का एक उदाहरण।) – chepner

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

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