namespace y scope

El namespace es un espacio dentro del cuál se encuentran definidos los objetos. built-ins, las variables globales de un módulo, las locales de una función… todas tienen su propio namespace.

El scope hace referencia a los espacios en los que está accesible un objeto o una variable:

built-in | global | funciones | locales

Cuando se define una variable, se puede utilizar global var1 para que sea accesible en cualquier scope; o nonlocal var1 para que vaya al scope inmediatamente superior.