ভেরিয়েবল হল নাম (শনাক্তকারী) যা বস্তুর সাথে মানচিত্র করে। একটি নামস্থান হল পরিবর্তনশীল নাম (কী) এবং তাদের সংশ্লিষ্ট বস্তুর (মান) একটি অভিধান।
একটি পাইথন বিবৃতি স্থানীয় নামস্থান এবং বিশ্বব্যাপী নামস্থানে ভেরিয়েবল অ্যাক্সেস করতে পারে। যদি একটি স্থানীয় এবং একটি গ্লোবাল ভেরিয়েবলের নাম একই থাকে, তাহলে স্থানীয় ভেরিয়েবলটি গ্লোবাল ভেরিয়েবলকে ছায়া দেয়৷
প্রতিটি ফাংশনের নিজস্ব স্থানীয় নামস্থান রয়েছে। ক্লাস পদ্ধতি সাধারণ ফাংশন হিসাবে একই স্কোপিং নিয়ম অনুসরণ করে।
পাইথন ভেরিয়েবল স্থানীয় বা বিশ্বব্যাপী কিনা তা শিক্ষিত অনুমান করে। এটি অনুমান করে যে একটি ফাংশনে একটি মান নির্ধারণ করা যেকোনো ভেরিয়েবল স্থানীয়।
অতএব, একটি ফাংশনের মধ্যে একটি গ্লোবাল ভেরিয়েবলের একটি মান নির্ধারণ করার জন্য, আপনাকে প্রথমে গ্লোবাল স্টেটমেন্ট ব্যবহার করতে হবে৷
বিবৃতি গ্লোবাল VarName পাইথনকে বলে যে VarName একটি বিশ্বব্যাপী পরিবর্তনশীল। পাইথন ভেরিয়েবলের জন্য স্থানীয় নামস্থান অনুসন্ধান করা বন্ধ করে।
উদাহরণস্বরূপ, আমরা বৈশ্বিক নামস্থানে একটি পরিবর্তনশীল অর্থ সংজ্ঞায়িত করি। মানি ফাংশনের মধ্যে, আমরা মানিকে একটি মান নির্ধারণ করি, তাই পাইথন মানিকে স্থানীয় পরিবর্তনশীল হিসাবে ধরে নেয়। যাইহোক, আমরা স্থানীয় ভেরিয়েবল মানি সেট করার আগে এর মান অ্যাক্সেস করেছি, তাই একটি UnboundLocalError ফলাফল। বৈশ্বিক বিবৃতিতে মন্তব্য না করা সমস্যার সমাধান করে।
#!/usr/bin/python Money = 2000 def AddMoney(): # Uncomment the following line to fix the code: # global Money Money = Money + 1 print Money AddMoney() print Money