Estava achando que o self só poderia ser usado com os atributos definidos na função construtora init , com esse exercício acabei não entendendo pois misturou com outras referências nos métodos. Gostaria de saber quais são as indicações para uso do self. Ex.:
class Conta:
def __init__(self, numero, saldo, limite):
self.__numero = numero
self.__saldo = saldo
self.__limite = limite
self.__tarifaTransferencia = 8.0
#NOVO MÉTODO AQUI
def temSaldoDisponivelPara(self, valor):
return valor < (self.__saldo + self.__limite)
def saca(self, valor):
if self.temSaldoDisponivelPara(valor):
self.__saldo -= valor
print("Saque efetuado.")
else:
print("Saldo insuficiente.")
def transfere(self, valor, destino):
valorTotal = valor + self.__tarifaTransferencia
if self.temSaldoDisponivelPara(valorTotal):
self.__saldo -= valorTotal
destino.deposita(valor)
print("Transferência efetuada.")
else:
print("Saldo insuficiente.")
Introduziu o self no temSaldoDisponivelPara ( def saca), fiquei com dúvidas pq o uso aqui.