Sugestão: como pegar a data e hora do sistema atual.
Ao criar a Classe de data e hora, no arquivo "datas.py", basta importar a biblioteca datetime e formatar de acordo com o exemplo abaixo:
from datetime import datetime
class Data_Hora:
def __init__(self):
print("Construindo objeto ... {}".format(self))
def data_sistema(self):
self.data_hora = datetime.now()
dt = self.data_hora.strftime("%d/%m/%Y %H:%M:%S")
print("Executado em:", dt)
Depois, no arquivo "conta.py", é possível já imprimir a data/hora direto dos métodos de extrato, saque e depósito da Classe Conta. Não sei se é boa prática fazê-lo desta maneira, mas funciona. Fiz assim:
a) importando a classe de data e hora, inserindo as linhas:
from datas import Data_Hora
d = Data_Hora()
b) colocando a chamada "d.data_sistema()", dentro de cada método da conta. Exemplo no método "extrato":
def extrato(self):
print("Saldo de {} do titular {}.".format(self.saldo, self.titular))
d.data_sistema()
Meu "main.py" ficou assim:
from conta import Conta
conta = Conta(1, "Jack", 1000, 10000)
conta2 = Conta(321, "Marcos", 100.0, 1000.0)
print('')
print('Titular: {}'.format(conta.titular))
conta.extrato()
print('')
conta.deposita(300.0)
conta.extrato()
print('')
conta.saca(100.0)
conta.extrato()
print('')
print('############################')
print(conta2.titular)
conta2.extrato()
print('')
conta2.deposita(250.0)
conta2.extrato()
print('')
conta2.saca(40.0)
conta2.extrato()
print('')
print('############################')
Ficando assim no output:
Construindo objeto ... <datas.Data_Hora object at 0x000001DBF99569D0>
Construindo objeto ... <conta.Conta object at 0x000001DBF9956CA0>
Construindo objeto ... <conta.Conta object at 0x000001DBF9956C40>
Titular: Jack
Saldo de 1000 do titular Jack.
Executado em: 12/07/2023 18:32:09
Depósito de 300.0 para o titular Jack
Executado em: 12/07/2023 18:32:09
Saldo de 1300.0 do titular Jack.
Executado em: 12/07/2023 18:32:09
Saque de 100.0 para o titular Jack
Executado em: 12/07/2023 18:32:09
Saldo de 1200.0 do titular Jack.
Executado em: 12/07/2023 18:32:09
############################
Marcos
Saldo de 100.0 do titular Marcos.
Executado em: 12/07/2023 18:32:09
Depósito de 250.0 para o titular Marcos
Executado em: 12/07/2023 18:32:09
Saldo de 350.0 do titular Marcos.
Executado em: 12/07/2023 18:32:09
Saque de 40.0 para o titular Marcos
Executado em: 12/07/2023 18:32:09
Saldo de 310.0 do titular Marcos.
Executado em: 12/07/2023 18:32:09
############################
Process finished with exit code 0