কম্পিউটার টিউটোরিয়াল

পাইথন ফাংশনে ভেরিয়েবল স্কোপ কীভাবে কাজ করে?

পাইথনে ভেরিয়েবল অ্যাসাইনমেন্টের সময় তৈরি হয় (ডিক্লেয়ারেশন আলাদা লাগে না)। স্কোপ নির্ধারণ করে ভেরিয়েবল কোথায় অ্যাক্সেসযোগ্য।

লোকাল vs গ্লোবাল উদাহরণ

x = 141  # গ্লোবাল

def foo():
    x = 424  # লোকাল ভেরিয়েবল (নতুন)
    print(x) # 424

foo()
print(x)     # 141 (গ্লোবাল অপরিবর্তিত)

ব্যাখ্যা

  • ফাংশন ভেতর x = 424 লিখলে একটি নতুন লোকাল ভেরিয়েবল তৈরি হয়।
  • গ্লোবাল x অপরিবর্তিত থাকে।
  • ফাংশন এন্ড হলে লোকাল x ডিস্ট্রয় হয়।

global কিওয়ার্ড ব্যবহার

x = 141

def foo():
    global x
    x = 424
    print(x)  # 424

foo()
print(x)      # 424 (গ্লোবাল পরিবর্তিত)

nonlocal কিওয়ার্ড (নেস্টেড ফাংশনে)

def outer():
    x = "enclosing"
    def inner():
        nonlocal x
        x = "modified"
    inner()
    print(x)  # modified

outer()

বেস্ট প্র্যাকটিস

  • ভেরিয়েবলের স্কোপ যতটা সম্ভব ন্যারো রাখুন।
  • global কম ব্যবহার করুন — কোড বুঝতে কষ্ট হয়।
  • ক্লাস বা ডেটা ক্লাস ব্যবহার করে স্টেট ম্যানেজ করুন।
  1. JavaScript-এ Scope কীভাবে কাজ করে

  2. PHP ভেরিয়েবল স্কোপ

  3. Matplotlib-এ মাল্টিভ্যারিয়েট ফাংশন প্লট করুন

  4. পাইথন plt.title-এ ভেরিয়েবল যোগ করা