The LEGB rule

There are four types of scope in Python, and they are arranged in a hierarchy. Each scope is a context in which names are stored and in which they can be looked up. The four scopes from narrowest to broadest are:

  • Local - names defined inside the current function.

  • Enclosing - names defined inside any and all enclosing functions. (This scope
    isn't important for the contents of this book.)

  • Global - names defined at the top-level of a module. Each module brings with
    it a new global scope.

  • Built-in - names built-in to the Python language through the special
    builtins module.

Together, these scopes comprise the LEGB rule:

The LEGB Rule

Names are looked up in the narrowest relevant context.

It's important to note that scopes in Python do not, in general, correspond to the source-code blocks as demarcated by indentation. For-loops, with-blocks, and the like do not introduce new nested scopes.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset