Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Uso de parênteses

Eu não entendi o motivo de usarmos o parêntesis na hora de chamar a funçao weekday na linha " dia_semana = self.momento_cadastro.weekday()", mas não usamos o parêntesis na hora de chamar a função month na linha "mes_cadastro = self.momento_cadastro.month - 1". Tentei usar a funçao month com o parêntesis mas aparece o seguinte erro: mes_cadastro = self.momento_cadastro.month() - 1 TypeError: 'int' object is not callable

class DatasBr:
    def __init__(self):
        self.momento_cadastro = datetime.today()

    def formata_data(self):
        data_formatada = self.momento_cadastro.strftime('%d/%m/%Y %H:%M')
        return data_formatada

    def mes_cadastro(self):
        meses_do_ano = [
            "Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho",
            "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"
        ]
        mes_cadastro = self.momento_cadastro.month - 1
        return meses_do_ano[mes_cadastro]

    def dia_semana(self):
        dia_semana_lista = [
            "Segunda-feira", "Terça-feira", "Quarta-feira", "Quinta-feira", "Sexta--feira", "Sábado", "Domingo"
        ]
        dia_semana = self.momento_cadastro.weekday()
        return dia_semana_lista[dia_semana]
1 resposta
solução!

Oi Natalia, dê uma olhada na biblioteca do datetime:

https://docs.python.org/3/library/datetime.html

Realmente os atributos não precisam de parenteses, por exemplo: date.min date.max date.resolution date.year date.month date.day

Por outro lado, os métodos da classe precisam: date.timetuple() date.toordinal() date.weekday() date.isocalendar()