আমি পাইথনে নতুন, সুতরাং এটি সম্ভবত একটি সহজ স্কোপিং প্রশ্ন। পাইথন ফাইলের (মডিউল) নীচের কোডগুলি আমাকে কিছুটা বিভ্রান্ত করছে:
if __name__ == '__main__':
x = 1
print x
যে ভাষাগুলিতে আমি কাজ করেছি সেগুলিতে এই কোডটি একটি ব্যতিক্রম ছুঁড়ে ফেলবে, কারণ xভেরিয়েবলটি ifবিবৃতিতে স্থানীয় এবং এর বাইরে থাকা উচিত নয়। তবে এই কোডটি কার্যকর করে এবং প্রিন্ট করে 1.. কেউ কি এই আচরণটি ব্যাখ্যা করতে পারে? সমস্ত পরিবর্তনশীল একটি মডিউল গ্লোবাল / সম্পূর্ণ মডিউল উপলব্ধ উপলব্ধ?
ifসত্য (অর্থাত, বিবৃতিতে উপরে না রাখা__name__হয় না'__main__'যখন আপনি এটি টপ লেভেল নির্বাহ পরিবর্তে মডিউল আমদানি উদাহরণস্বরূপ,), তারপরxকখনো আবদ্ধ হয়েছে হবে, এবং পরবর্তীprint xবিবৃতি একটি নিক্ষেপ করা হবেNameError: name 'x' is not defined।