একটি পাইথন প্রোগ্রামের বিভিন্ন ভেরিয়েবলের বিভিন্ন সুযোগ রয়েছে। যেখানে এটি ঘোষণা করা হয়েছে তার উপর নির্ভর করে, ভেরিয়েবলটি একটি ফাংশনের ভিতরে অ্যাক্সেসযোগ্য হতে পারে বা নাও হতে পারে। কখনও কখনও আমাদের একটি ভেরিয়েবল পরিবর্তন করতে হবে যা একটি ফাংশনের ভিতরে উপস্থিত তার বর্তমান সুযোগের বাইরে থেকে। এইরকম পরিস্থিতিতে আমরা পরিবর্তনশীল নামের সাথে গ্লোবাল কীওয়ার্ড ব্যবহার করি।
বিশ্বব্যাপী কীওয়ার্ড
সম্পর্কে মূল বিষয়গুলি নিম্নোক্ত করা হল-
একটি ফাংশনের বাইরে ঘোষিত একটি ভেরিয়েবল ডিফল্টভাবে একটি গ্লোবাল ভেরিয়েবল।
-
আমরা একটি ভেরিয়েবলের জন্য একটি গ্লোবাল কীওয়ার্ড ব্যবহার করি যা একটি ফাংশনের ভিতরে থাকে যাতে এটি পরিবর্তন করা যায়৷
-
গ্লোবাল কীওয়ার্ড ব্যতীত, একটি ফাংশনের ভিতরের পরিবর্তনশীলটি ডিফল্টরূপে স্থানীয়।
গ্লোবাল ছাড়া
নীচের উদাহরণগুলিতে আমরা দেখব কিভাবে একটি বৈশ্বিক কীওয়ার্ড ছাড়া পরিবর্তনশীল পরিবর্তন ঘটে। এটি আমাদের বুঝতে সাহায্য করবে, পরবর্তী প্রোগ্রামে গ্লোবাল কীওয়ার্ড কী পার্থক্য করে। নিচের উদাহরণে আমরা ফাংশনের ভিতরে গ্লোবাল ভেরিয়েবল পরিবর্তন করার চেষ্টা করি। কিন্তু একটি ত্রুটি ঘটে কারণ আমরা একটি ফাংশনের ভিতরে একটি গ্লোবাল ভেরিয়েবল পরিবর্তন করতে পারি না।
উদাহরণ
var = 321 # function to modify the variable def modify(): var = var * 2 print(var) # calling the function modify()
আউটপুট
উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -
UnboundLocalError: local variable 'var' referenced before assignment
গ্লোবালের সাথে
এখন আমরা কীওয়ার্ড গ্লোবাল সহ ফাংশনের ভিতরে ভেরিয়েবল ঘোষণা করি। এটি পরিবর্তনশীলকে পরিবর্তনযোগ্য করে তোলে।
উদাহরণ
var = 321 # function to modify the variable def modify(): global var var = var * 2 print(var) # calling the function modify()
আউটপুট
উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -
642
নেস্টেড ফাংশনের মধ্যে গ্লোবাল
যদি আমাদের নেস্টেড ফাংশন ব্যবহার করতে হয় তাহলে আমাদের অভ্যন্তরীণ ফাংশনে গ্লোবাল কীওয়ার্ড ঘোষণা করতে হবে যাতে ভেরিয়েবলটি পরিবর্তন করা যায়।
উদাহরণ
def outer_func(): var = 321 # function to modify the variable def modify(): global var var = var * 2 print(var) # calling the function modify() outer_func()
আউটপুট
উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -
642