from conta import Conta Traceback (most recent call last): File "", line 1, in File "C:\sistemas\python\pycharm\PyCharm Community Edition 2017.2.4\helpers\pydev_pydev_bundle\pydev_import_hook.py", line 20, in do_import module = self._system_import(name, args, *kwargs) File "C:\sistemas\projetos\python\oo\conta.py", line 3, in class Conta: File "C:\sistemas\projetos\python\oo\conta.py", line 37, in Conta @property.setter TypeError: descriptor 'setter' requires a 'property' object but received a 'function'
Se no último método trocar a anotação por: @limite.setter não acontece o erro. Mas gostaria de saber o porque de mesmo respondido certo no exercício, quando vou testar não funciona.
Segue o código abaixo:
-- coding: UTF-8 --
class Conta:
def init(self, p_numero, p_titular, p_saldo, p_limite = 1000.0): print('Construindo o objeto... {}'.format(self)) self.numero = p_numero self.titular = p_titular self.saldo = float(p_saldo) self.limite = float(p_limite)
def depositar(self, p_valor): self.__saldo += p_valor
def sacar(self, p_valor): self.__saldo -= p_valor
def transferir(self, p_valor, p_destino): self.sacar(p_valor) p_destino.depositar(p_valor)
def extrato(self): print("O Saldo do {} é {}".format(self.titular, self.saldo))
@property def titular(self): return self.__titular
@property def saldo(self): return self.__saldo
@property def limite(self): return self.__limite
@property.setter def limite(self, p_limite): self.__limite = p_limite