Usando os underscores estou encapsulando o meu código, ok? Mas ainda posso modificá-lo, há alguma função ou algo que eu possa fazer para não deixar o meu código tão vulnerável?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Usando os underscores estou encapsulando o meu código, ok? Mas ainda posso modificá-lo, há alguma função ou algo que eu possa fazer para não deixar o meu código tão vulnerável?
Olá Darley, tudo bem com você?
O encapsulamento tanto de métodos, quanto de atributos no Python, é um assunto que desperta diversas opiniões, isso por não ser algo obrigatório da linguagem — embora, seja extremamente importante definir a visibilidade de métodos e atributos quando se trabalha com orientação a objetos. Em Python não teremos um atributo ou método 100% privado.
Assim devemos contar com o profissionalismo das(os) programadoras(es) de que irão respeitar as conversões definidas pela comunidade e pela linguagem Python, compreender e respeitar essas conversões faz parte de nossa jornada de aprendizado com o objetivo a excelência.
Também, é importante dizer que não será possível invocar diretamente métodos que possuam duplo underscore fora da classe (através de objetos) e isso ocorre devido ao name mangling, que se trata de uma mudança no nome do método ou atributo para dificultar a leitura direta. Mas, reforço que apesar de dificultar, seu acesso não é impossível.
Para entender mais sobre atributos, métodos privados e até mesmo sobre name mangling, recomendo a leitura dos seguintes artigos — que estão em inglês, caso tenha dificuldade com o idioma, recomendo o uso do tradutor do navegador.
O conteúdo recomendado acima está em inglês, o uso da língua inglesa é bem comum na área de tecnologia, mas não se preocupe, caso não tenha afinidade com essa linguagem, recomendo que utilize o tradutor do navegador para uma melhor compressão.
Não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.
Espero ter lhe ajudado. Em caso de dúvidas estou à disposição.
Abraços e bons estudos!