from abc import ABCMeta, abstractmethod
import numpy as np
import array as arr
class Conta(metaclass=ABCMeta):
def __init__(self,codigo,saldo):
self._codigo = codigo
self._saldo = saldo
def deposita(self,valor):
self._saldo += valor
@abstractmethod
def passa_o_mes(self):
pass
def __str__(self):
return "[>>Código: {} Saldo: {}<<]" .format(self._codigo, self._saldo)
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
class ContaInvestimento(Conta):
pass
conta16 = ContaCorrente(16,0)
conta16.deposita(1000)
conta16.passa_o_mes()
conta17 = ContaPoupanca(17,0)
conta17.deposita(1000)
conta17.passa_o_mes()
contas = [conta16, conta17]
for conta in contas:
conta.passa_o_mes() #duck typing
print(conta)
numeros = np.array([1, 3.5])
resultado = numeros + 3
print (numeros)
print (resultado)