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

পাইথনে গ্লোবাল এবং লোকাল ভেরিয়েবলের পার্থক্য

গ্লোবাল ভেরিয়েবল — মডিউল লেভেলে ডিক্লেয়ার করা, প্রোগ্রামের যেকোনো জায়গা থেকে অ্যাক্সেসযোগ্য।

লোকাল ভেরিয়েবল — ফাংশন বা ব্লকের ভেতর ডিক্লেয়ার করা, শুধু সেটি স্কোপের ভেতরেই অ্যাক্সেসযোগ্য।

উদাহরণ

q = "I love coffee"  # গ্লোবাল

def f():
    p = "Me Tarzan, You Jane."  # লোকাল
    print(p)

f()        # Me Tarzan, You Jane.
print(q)   # I love coffee

ব্যাখ্যা

  • p শুধু f()-এর ভেতরেই ভিজিবল।
  • q সব জায়গায় ভিজিবল (ফাংশন ভেতরেও, যদি লোকাল q না থাকে)।

শাডোइং (Shadowing)

x = 10

def func():
    x = 20  # লোকাল x (গ্লোবাল x শাডো করা হয়েছে)
    print(x)  # 20

func()
print(x)  # 10

গ্লোবাল মডিফিকেশন

x = 10

def func():
    global x
    x = 20

func()
print(x)  # 20

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

  • গ্লোবাল ভেরিয়েবল কম ব্যবহার করুন।
  • ফাংশন আর্গামেন্ট ও রিটার্ন ভ্যালু ব্যবহার করে ডেটা পাস করুন।
  • শেয়ার্ড স্টেটের জন্য ক্লাস বা কনফিগ অবজেক্ট ব্যবহার করুন।
  1. জাভাস্ক্রিপ্টে গ্লোবাল এবং লোকাল ভেরিয়েবলের পার্থক্য কী?

  2. জাভাস্ক্রিপ্টে ভেরিয়েবল ডিক্লেয়ার করা এবং ইনিশিয়ালাইজ করার পার্থক্য কী?

  3. Tkinter(Python)-এ root.destroy() এবং root.quit() এর পার্থক্য কী?

  4. Python-এ tkinter এবং tkinter.ttk উইজেটের পার্থক্য কী?