Quelqu'un a programmé une classe Compte représentant un compte bancaire avec 2 attributs privés __titulaire (représentant le titulaire du compte) et __solde (représentant le montant sur le compte, initialement zéro) et 1 attribut publique représentant la banque du compte.
class Compte : def __init__(self, banque, titulaire, solde = 0) : self.banque = banque self.__titulaire = titulaire self.__solde = solde def banque(self) : return self.banque def titulaire(self): return self.__titulaire def solde(self): return self.__solde def __str__(self) : return "Banque: " + self.banque() \ + " Compte: " + self.titulaire() \ + " Solde: " + str(self.solde()) a = Compte("ShittyBank","Kim") print(a)
Malheureusement, quand on exécute l'instruction print(a), une erreur se produit:
Traceback (most recent call last): > print(a) > print(self.banque()) > TypeError: 'str' object is not callable
Quel est le problème? Pouvez-vous corriger le code?