Seguindo o desenvolvimento dos exercicios feitos em aula cheguei a uma estranha constatação, depois de criar uma tupla que continua dois objetos do tipo conta, as referencias das contas se voltaram para o mesmo objeto:
class ContaCorrente:
def __init__(self, codigo):
self.codigo = codigo
self.saldo = 0
def deposita (self, valor):
self.saldo += valor
def __str__ (self):
return "[>>Codigo {} Saldo {}<<]".format(self.codigo, self.saldo)
conta = ContaCorrente(15)
conta2 = ContaCorrente(4768)
conta2.deposita(200)
contas = (conta, conta2)
for conta in contas:
print(conta) #aqui o print gera [>>Codigo 15 Saldo 0<<] e [>>Codigo 4768 Saldo 200<<]
#Até aqui tudo ok, mas ao fazer
#print (conta) e print(conta2) obtenho o mesmo valor impresso duas vezes [>>Codigo #4768 Saldo 200<<]
#Verifiquei o endereço na memoria e tanto conta quanto conta2 estão apontando para o #mesmo objeto