Porque foi declarado com um underscore:
self._programase não dois underscore:
self.__programas
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!
Porque foi declarado com um underscore:
self._programase não dois underscore:
self.__programas
Fala Carlos.
Isso tem relação com conflito de nomes e "modificadores de acesso" em Python. Tem um post aqui que pode te ajudar. Veja:
https://cursos.alura.com.br/forum/topico-o-duplo-underline-e-realmente-para-atributos-privados-64211