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

পাইথন ভেরিয়েবল স্কোপিং নিয়ম: LEGB রুল

পাইথনে ভেরিয়েবল স্কোপ নির্ধারণের জন্য LEGB রুল ফলো করা হয় (Mark Lutz-এর Learning Python বই থেকে)। এটি ন্যারো থেকে ব্রডার স্কোপের ক্রমে:

LEGB = Local → Enclosing → Global → Built-in

স্কোপব্যাখ্যাউদাহরণ
L - Localফাংশনের ভেতর ডিক্লেয়ার করা ভেরিয়েবলdef f(): x = 10
E - Enclosingনেস্টেড ফাংশনের আউটার ফাংশনের স্কোপdef outer(): x=1; def inner(): print(x)
G - Globalমডিউল লেভেল (টপ-লেভেল) ভেরিয়েবলx = 100 # ফাংশনের বাইরে
B - Built-inপাইথন ইন্টারপ্রেটার লোড করে বিল্ট-ইন নাম (len, print, str)len, print, open

উদাহরণ

x = "global"

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

outer()
print(x)          # global

global / nonlocal কিওয়ার্ড

  • global x — মডিউল-লেভেল x মডিফাই করতে দেয়।
  • nonlocal x — enclosing স্কোপের x মডিফাই করতে দেয় (নেস্টেড ফাংশনে)।
  1. পাইথনে ফাইল অবজেক্টের অ্যাট্রিবিউটসমূহ

  2. পিডিএফ (PDF) থেকে টেক্সট এক্সট্রাক্ট করার পাইথন মডিউলগুলো

  3. পাইথনে প্যাকেজ কী?

  4. পাইথনে এক্সসেপশন হ্যান্ডলিং-এর সেরা অভ্যাস