Python's LEGB Rule: Local, Enclosed, Global, Built-in Variable Lookup

🧠 Python Concept You MUST Know: Python’s LEGB Rule (Variable Lookup Order) ✔️ Most Python developers use variables every day. ✔️ Very few understand how Python decides which variable to use. ✔️ That’s where the LEGB rule comes in. Let’s explain this simply 👇 🧒 Simple Explanation Imagine you’re looking for your toy car 🚗. You search in this order: 1️⃣ Your room 2️⃣ Your sibling’s room 3️⃣ Living room 4️⃣ Your building’s storage area Python does the same thing when looking for a variable. 🔍 LEGB = Local → Enclosed → Global → Built-in Python looks for variables in this exact order: 🔹 L — Local Inside the current function def fun(): x = 10 # local 🔹 E — Enclosed Inside an outer function (nested functions) def outer(): x = 20 def inner(): print(x) # enclosed 🔹 G — Global Defined at the top of the script x = 30 🔹 B — Built-in Python’s internal names (like len, range, print) 🧠 Example That Shows All 4 in Action x = 30 # global def outer(): x = 20 # enclosed def inner(): x = 10 # local print(x) inner() outer() Output: 10 Python stops at the first match — the local variable in inner(). ⚠️ When Python Can’t Find a Variable If Python checks: Local ❌ Enclosed ❌ Global ❌ Built-in ❌ Then you get: NameError: name 'x' is not defined 🎯 Interview Gold Line “Python resolves variables using the LEGB rule — Local, Enclosed, Global, Built-in — in that exact order.” Interviewers LOVE this answer. 🧠 One-Line Rule Python looks in the nearest scope first. ✨ Final Thought Knowing LEGB makes you better at: ✔ Debugging ✔ Writing functions ✔ Understanding closures ✔ Avoiding accidental shadowing It turns confusion into clarity. 📌 Save this post — LEGB is Python’s secret map for finding variables. #Python #LearnPython #PythonTips #Programming #DeveloperLife #SoftwareEngineering #Coding #TechLearning #CodeNewbie #Freshers

  • No alternative text description for this image

To view or add a comment, sign in

Explore content categories