কম্পিউটার

পাইথন মডিউলগুলিতে পরিবর্তনশীল স্কোপগুলি কীভাবে কাজ করে?


নেমস্পেস হল সুযোগ বাস্তবায়নের একটি উপায়। পাইথনে, প্রতিটি প্যাকেজ, মডিউল, ক্লাস, ফাংশন এবং পদ্ধতি ফাংশন একটি "নেমস্পেস" এর মালিক যেখানে পরিবর্তনশীল নামগুলি সমাধান করা হয়। যখন একটি ফাংশন, মডিউল বা প্যাকেজ মূল্যায়ন করা হয় (অর্থাৎ কার্যকর করা শুরু হয়), একটি নামস্থান তৈরি হয়। এটিকে "মূল্যায়ন প্রসঙ্গ" হিসেবে ভাবুন। যখন একটি ফাংশন, ইত্যাদি, সম্পাদন শেষ করে, নামস্থানটি বাদ দেওয়া হয়। ভেরিয়েবল বাদ দেওয়া হয়. এছাড়াও একটি গ্লোবাল নেমস্পেস আছে যেটি ব্যবহার করা হয় যদি নামটি স্থানীয় নামস্থানে না থাকে।

ভেরিয়েবলগুলি সাধারণত শুধুমাত্র একটি স্থানীয় নামস্থানে তৈরি করা হয়। বিশ্বব্যাপী এবং অ-স্থানীয় বিবৃতি স্থানীয় নামস্থান ছাড়া অন্য ভেরিয়েবল তৈরি করতে পারে।

স্কোপ রেজোলিউশন প্রয়োজন হয় যখন একটি ভেরিয়েবল ব্যবহার করা হয় তার মান কোথা থেকে আসবে তা নির্ধারণ করতে। পাইথনে স্কোপ রেজোলিউশন LEGB নিয়ম অনুসরণ করে।

L, স্থানীয় — একটি ফাংশনের (বা ল্যাম্বডা) মধ্যে যে কোনো উপায়ে নাম দেওয়া হয়েছে এবং সেই ফাংশনে বিশ্বব্যাপী ঘোষণা করা হয়নি।

ই, এনক্লোজিং-ফাংশন লোকাল — অভ্যন্তরীণ থেকে বাহ্যিক পর্যন্ত যে কোনও এবং সমস্ত স্ট্যাটিকালি এনক্লোজিং ফাংশন (বা ল্যাম্বডাস) এর স্থানীয় সুযোগে নাম৷

G, গ্লোবাল (মডিউল) — একটি মডিউল ফাইলের শীর্ষ-স্তরে নির্দিষ্ট করা নাম, অথবা ফাইলের মধ্যে একটি ডিফ-এ একটি গ্লোবাল স্টেটমেন্ট কার্যকর করার মাধ্যমে।

বি, বিল্ট-ইন (পাইথন) — অন্তর্নির্মিত নাম মডিউলে পূর্বে নির্ধারিত নাম:খোলা, পরিসর, সিনট্যাক্স ত্রুটি, ইত্যাদি।



  1. পাইথন নেমস্পেস এবং ভেরিয়েবলের সুযোগ ব্যাখ্যা কর।

  2. পাইথন মডিউল কিভাবে কাজ করে?

  3. কিভাবে পরিবর্তনশীল সুযোগ পাইথন ফাংশন কাজ করে?

  4. পাইথন ফাংশনে একটি গ্লোবাল ভেরিয়েবল কীভাবে ব্যবহার করবেন?