Meu código está assim
class Conta:
def __init__(self, numero, titular, saldo, limite ):
print(f"construindo ...{self}")
self.__numero = numero
self.__titular = titular
self.__saldo = saldo
self.__limite = limite
def extrato(self):
print("Saldo de {} do titular {}".format(self.__saldo,self.__titular))
def depositar(self, valor):
self.__saldo += valor
def sacar(self, valor):
self.__saldo -= valor
def transferir(self, valor, destino):
self.sacar(valor)
destino.depositar(valor)
@property
def saldo(self):
return self.__saldo
@property
def titular(self):
return self.__titular
@property
def limite(self):
print("property-Limite")
return self.__limite
@limite.setter
def limite(self, valor):
print("setter")
self.__limite = valor
Primeiro observei que os @setter precisam estar declarados após os @property e a outra situação é referente a mensagem que deixei no @property do limite,ou seja, mesmo não acionando essa propriedade a mensagem é exibida, alguém sabe me explicar o porque isso ocorre?
Resultado
(python console)
from conta import Conta
conta = Conta(123,"Nico",55.5,1000.0)
construindo ...<conta.Conta object at 0x00000132C741E0B0>
property-Limite
conta.saldo
55.5
property-Limite
conta.titular
'Nico'
Obrigado