পাইথনে global ইনস্ট্রাকশন
ধরুন আমাদের একটি বাহ্যিক গ্লোবাল
ভেরিয়েবল i আছে। এছাড়াও একটি ফাংশন
func আছে, যা এই
ভেরিয়েবলের সাথে এক যোগ করে:
i = 0
def func():
i += 1 # ত্রুটি দেখাবে
return i
কোড এক্সিকিউট করার পর একটি ত্রুটি ফিরে আসবে,
কারণ বাহ্যিক কোডে ডিক্লেয়ার করা গ্লোবাল
i এবং লোকাল i-এর মধ্যে একটি কনফ্লিক্ট হয়,
যার সাথে 1 যোগ করা হচ্ছে,
কিন্তু ভেরিয়েবলটি এখনও ডিক্লেয়ার করা হয়নি। এই
সমস্যা ঠিক করতে এবং ফাংশনটিকে বিশেষভাবে
গ্লোবাল ভেরিয়েবল নিয়ে কাজ করতে নির্দেশ দিতে,
global ইনস্ট্রাকশন ব্যবহার করতে হবে।
এই ইনস্ট্রাকশনটি একটি ডিক্লারেশন যা
বর্তমান কোড ব্লকের জন্য কার্যকর হয়,
যেখানে এটি সেট করা আছে।
আসুন পূর্বের উদাহরণটি আবার লিখি, ফাংশন বডিতে
global ডিক্লেয়ার করে:
def func():
global i
i += 1
return i
print(func()) # 1 দেখাবে
নিম্নলিখিত কোডে একজন প্রোগ্রামার একটি ভুল করেছেন:
num = 4
def func():
num *= 2
return num
print(func())
এই কোডটিতে কী সমস্যা? খুঁজে বের করুন এবং সংশোধন করুন কোড লেখকের ভুল।
নিম্নলিখিত কোডে একজন প্রোগ্রামার একটি ভুল করেছেন:
num = 10
def func():
num -= 3
return i
print(func())
এই কোডটিতে কী সমস্যা? খুঁজে বের করুন এবং সংশোধন করুন কোড লেখকের ভুল।