1
resposta

Sobre atributos: privados, protegidos, públicos

Fala, galera!

Estou um pouco confuso com a questão dos atributos. São várias pequenas dúvidas relacionadas:

1) No curso anterior, foi dito que atributos iniciados com __ (dois underscores) são privados, mas neste curso é dito que na verdade é só um name mangling.

  • a) Mas o name mangling aqui não é pro Python saber que o atributo é privado? Ou não existe atributo privado?
  • b) É errado falar em atributo privado, uma vez que ele pode ser acessado de qualquer forma?

2) Existem atributos protegidos em Python (atributos que são privados, mas podem ser acessados por classes descendentes)? Ou a notação com prefixo _ (um underscore) é só uma convenção?

3) (Talvez a resposta da 2 elimine esta dúvida:) Não raramente as classes acabam sendo estendidas posteriormente. Neste caso, é melhor trabalhar com todos os atributos públicos ou existe outra forma mais adequada?

Desde já, valeuuu :)

1 resposta

A linguagem Python não tem essa questão de atributos publicos/privados, porém na comunidade, criou-se essa convenção de underscores para sinalizar que um atributo deve ser tratado como privado.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software