2013-03-27 12 views

उत्तर

15

नहीं, अंतर प्रदर्शन का सवाल नहीं है। दोनों मामलों में, संपूर्ण मॉड्यूल को पार्स किया जाना चाहिए, और कोई मॉड्यूल-स्तरीय कोड निष्पादित किया जाएगा। केवल अंतर ही नामस्थानों में है: पहले, आयातित मॉड्यूल में सभी नाम वर्तमान मॉड्यूल में नाम बन जाएंगे; दूसरे में, वर्तमान मॉड्यूल में केवल पैकेज नाम परिभाषित किया गया है।

उस ने कहा, from foo import * का उपयोग करने के लिए बहुत ही कम कारण है। या तो मॉड्यूल आयात करें, या इससे विशिष्ट नाम आयात करें।

+0

हाँ, आपके उत्तर के लिए धन्यवाद। मुझे लगता है कि जब पैकेज नाम बदला जा सकता है तो "पैकेज आयात * से" उपयोग करने के कुछ कारण भी हैं। या एक ही पैकेज के साथ एक और पैकेज मूल कारण को बदलने की आवश्यकता को बदल देगा। – Zuckonit

+1

जब आप वास्तव में 'पैकेज' का उपयोग करते हैं तो प्रदर्शन विशेषता सभी विशेषता लुकअप 'package.foo' से जमा हो सकती है। फिर भी, यदि यह कोई समस्या है, तो विशिष्ट नाम आयात करें या कैश स्थानीय लोगों में नाम देखें। –

+4

जब कोई पैकेज नाम बदलता है, तो आप केवल 'पुराने नाम के रूप में नया नाम आयात कर सकते हैं'। यदि पैकेज को अक्सर स्विच करने का कोई खतरा होता है, तो 'तुरंत पैकेज को इंटरफेसनाम के रूप में आयात करें'। –

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