Python

Para que serve o __all__ no Python?

26 de junho de 2020

Para que serve o __all__ no Python?

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.

para que ser o __all__ no python capa

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:

  1. Se o __all__ for removido, tudo será normalmente exportado;
  2. 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

0
Subscribe
Notify of
guest
0 Comentários
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x