Olá, Stephanie. Pois é em Python não existe atributo verdadeiramente privado, mesmo se você usar o duplo underline ainda sim conseguiria acessar o valor ou alterar o atributo.
Por exemplo:
class Conta:
def __init__(self, nome, saldo):
self.nome = nome
self.__saldo = saldo
@property
def saldo(self):
return self.__saldo
def main():
minha_conta = Conta("Guido Van Rossum", 500)
print(f"Acesso do atributo \"privado\" pelo metodo get -> {minha_conta.saldo}")
print(f"Acesso do atributo \"privado\" diretamente -> {minha_conta._Conta__saldo}")
if __name__ == "__main__":
main()
Vai ter como saída:
Acesso do atributo "privado" pelo metodo get -> 500 e
Acesso do atributo "privado" diretamente -> 500
inclusive vc pode alterá-lo! O uso do __ e do _ é basicamente pra indicar que aquele atributo é privado e não deve ser manipulado
diretamente.