Escreva um programa de bancos que possua:
Uma classe Banco com os atributos - private total - public TaxaReserva - private reservaExigida
E métodos - public podeFazerEmprestimo(valor) --> bool - public MudaTotal(valor)
E uma classe conta com os atributos - private saldo - private ID - private senha
E métodos - public deposito(senha, valor) - public saque(senha, valor) - public podeReceberEmprestimo(valor) --> bool - public saldo --> float
SOlução:
class Banco(object):
    __total =10000
    TaxaReserva = 0.1
    __reservaExigida = __total*TaxaReserva
    def podeFazerEmprestimo(self,valor):
        if self.__saldo >= 1000:
            return True
    def MudaTotal(self,valor):
        Banco.__total += valor
        return Banco.__total
class Conta(Banco):
    def __init__(self,saldo,ID,senha):
        self.__saldo = saldo
        self.__ID = ID
        self.__senha = senha
    def deposito(self,senha, valor):
        Conta.__saldo += valor
    def saque(self,senha, valor):
        if (senha == self.__senha) and (valor <= self.__saldo) :
            self.__saldo -= valor
    def podeReceberEmprestimo(self,valor):
        pass
    def saldo(self):
        return self.__saldo
##    def __call__(self,x):  # torna a instância callable!
##        return x
itau = Conta(1000,123456,"POO")
itau.saque("POO",200)
print(itau.saldo())
#print(callable(itau)) #é instancia! não é callable! exceto se criar  __call__
#print(callable(Conta))# é callable!
#print(callable(itau)) se criar o def __call___, torna-se callable!
print(Banco.total)Erro:
O erro é no Banco.total, que é privado:
"AttributeError: type object 'Banco' has no attribute 'total'"
Como acessar o atributo privado?
 
            