
Nas linguagens de programação o Namespaces é uma forma de organizar e estruturar os nomes dos nossos objetos.
Imagine fisicamente uma sala com algumas pessoas e todas elas têm o mesmo nome de João, como faríamos para chamar cada um deles?
Nesse caso teríamos que chamá-los pelo nome e sobrenome para identificar cada um, pode ser que alguns sobrenomes sejam iguais, mas as chances de isso acontecer é menor.
Em uma linguagem de programação é a mesma coisa, imagine como seria difícil criar uma variável ou método sem repetir o nome?
Para resolver esse problema existe o Namespaces, que vai separar por meio de escopo ou também por módulos, mas no momento não vamos focar nos módulos.
Acesse o artigo completo em: https://nakatech.herokuapp.com/article/pyNamespace.html.