#a ultima aula eu entendi o que vc disse professor, porem, não funcionou no meu (utilizo o visual studio, deixei comentado pq não foi e tive que criar um passa o mes para 3ª conta pq não estava indo de jeito nenhum.
#Listas e polimorfismo
class Conta(): #a utilização desta metaclass ABCMeta faz com que o erro apareça nas subclasses logo que tente instanciar, e não somente quando for chamado. 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)
print(Conta(88))
class ContaCorrente(Conta): def passa_o_mes(self): self._saldo -= 2
class ContaPoupanca(Conta): def passa_o_mes(self): self._saldo *=1.01 self._saldo -= 3
#@abstractmathod class ContaInvestimento(Conta): def passa_o_mes(self): self._saldo *=1.0137
conta16 = ContaCorrente(16) conta16.deposita(1000) print(conta16)
conta17 = ContaPoupanca(17) conta17.deposita(1000) print(conta17)
conta18 = ContaInvestimento(18) conta18.deposita(1000) print(conta18)
contas = [conta16, conta17, conta18]
print("passando o mes")
for conta in contas: conta.passa_o_mes() #Dock type print(conta)
#Array, evitar usar
#import array as arr
#numeros = arr.array('d', [1, 3.5])
import numpy as np
numeros = np.array([1, 3.5])
print(numeros)
print("+3")
numeros += 3
print(numeros)
#utilisamos array com numpy pq é mais otimizado.