Neste artigo veremos Para que serve o __all__ no Python e como devemos utilizar esta instrução nos nossos softwares para usufruir de suas vantagens.
Fala programador(a), beleza? Bora aprender mais sobre Python!
A instrução __all__ é utilizada quando criamos um módulo e vamos exportar suas propriedades e métodos
Daí o __all__ entre em ação, com uma lista de strings que serão exatamente os elementos que vamos exportar desse módulo
E serão acessíveis publicamente pelo código que os importou, vamos ver na prática:
__all__ = ['a','b'] a = 5 b = 'teste' def c(): print("Opa")
Este é o nosso módulo, que com o __all__ vai exportar apenas as variáveis a e b, ou seja, não podemos utilizar a função c fora dele
Agora veja o nosso segundo arquivo:
from modulo import * print(a) print(b)
Aqui importamos tudo do nosso módulo, porém só podemos utilizar o que está no __all__
Ou seja, a e b, e se tentarmos utilizar o c, receberemos um erro
Veja a saída:
5
Então é para isso que o __all__ serve, tornar declarativo o que vamos exportar do nosso módulo, para ser utilizado publicamente por outros que o importam
Importante citar duas coisas:
- Se o __all__ for removido, tudo será normalmente exportado;
- O __all__ só funciona para o import *, o import direto consegue acessar todos os métodos normalmente;
Conclusão
Neste artigo vimos para que serve o __all__ no Python
Basicamente conseguimos por meio desta instrução controlar o que é exportado dos nossos módulos
Mas o __all__ só vai funcionar por meio do import *, o import direto vai ignorar esta instrução
Confira também nosso catálogo de cursos gratuitos, com aulas semanais no YouTube