मेरे द्वारा पढ़े गए सभी पायथन दस्तावेज़ों से संकेत मिलता है कि, साइड इफेक्ट्स अलग-अलग हैं, यदि आप मॉड्यूल ए आयात करते हैं और फिर संदर्भ एए आयात करते हैं, तो आप उसी वैरिएबल का संदर्भ दे रहे हैं जैसे आपने "एक आयात से" लिखा था।क्यों ... आयात पाइथन में आयात समय पर मूल्य से जुड़ने लगता है?
हालांकि, यह मामला यहां प्रतीत नहीं होता है और मुझे यकीन नहीं है कि क्या हो रहा है। मैं पायथन 2.6.1 का उपयोग कर रहा हूँ।
अगर मैं एक मॉड्यूल alpha.py बनाएँ:
Value of bravo is: None
Value of alpha.bravo is: 1
क्यों:
import sys, os
sys.path.append(os.path.abspath('.'))
import alpha
from alpha import bravo
alpha.set_bravo()
print "Value of bravo is: %s" % bravo
print "Value of alpha.bravo is: %s" % alpha.bravo
तब मैं इस उत्पादन प्राप्त करें:
bravo = None
def set_bravo():
global bravo
bravo = 1
फिर एक स्क्रिप्ट है कि मॉड्यूल का आयात करता है बनाने क्या वह?
आह। मैंने एक मॉड्यूल से स्थानीय नामस्थान में 'आयात' आयातित चर नामों को सोचा, लेकिन ऐसा लगता है कि यह स्थानीय नामस्थान में उसी नाम को आयातित चर के * मान * पर बांधता है। मुझे यकीन नहीं है कि यह लंगड़ा है या मैं यह महसूस करने के लिए बहुत लंगड़ा हूं कि यह नहीं है। –
सही। पाइथन में "चर" नहीं हैं, केवल "नाम" हैं। –