Assim como indicado na aula, estou tentando criar um set para o limite utilizando @limite.setter, entretanto o pycharm está me retornando um erro dizendo que limite ainda não foi definido. Não estou conseguindo encontrar a solução para meu problema, se alguém souber agradeço. Segue o código:
class Conta:
def __init__(self, numero, titular, saldo, limite):
self.__numero = numero
self.__titular = titular
self.__saldo = saldo
self.__limite = limite
self.__codigo = '001'
def __pode_sacar(self, valor):
valor_total = self.__saldo + self.__limite
return valor <= valor_total
def sacar(self, valor):
if self.__pode_sacar((valor)):
self.__saldo -= valor
print(f'Operação bem sucedida. Saldo atual: R${self.__saldo}')
else:
diferenca = valor - (self.__saldo + self.__limite)
print(f'Não foi possível realizar a operação pois o valor ultrapassa em R${diferenca:.2f}')
def depositar(self, valor):
self.__saldo += valor
print(f'Após o depósito de {valor}, o saldo atual desta conta é R${self.__saldo:.2f}')
def extrato(self):
print(f'Titular:{self.__titular}\n', f'Número da conta: {self.__numero}\n',
f'Saldo: {self.__saldo}\n', f'Limite: {self.__limite}')
def transferir(self, destino, valor):
self.sacar(valor)
destino.depositar(valor)
@property
def saldo(self):
return self.__saldo
@property
def titular(self):
return self.__titular
@limite.setter
def limite(self, limite):
self.__limite = limite
@staticmethod
def codigo_banco():
return '001'