2
respostas

[Dúvida] Aplicação month x weekday

Por que para obtermos o mês, basta colocar .month, enquanto para o dia da semana é necessário incluir os parênteses, ou seja, .weekday()?

screenshot do código utilizado em aula

2 respostas

Olá, Marina! Tudo bem?

A razão para essa diferença é que .month é um atributo (ou propriedade) da classe datetime, enquanto .weekday() é um método.

Atributos são características ou propriedades que um objeto possui. No caso do objeto datetime, .month é um atributo que retorna o mês da data. Por ser um atributo, não precisamos dos parênteses para acessá-lo.

Por outro lado, métodos são funções que pertencem a um objeto e realizam alguma ação. No caso de .weekday(), ele é um método que retorna o dia da semana como um número inteiro (onde segunda-feira é 0 e domingo é 6). Como é um método, precisamos dos parênteses para chamá-lo.

Então, em resumo, a diferença está no fato de que .month é um atributo (uma característica da data) e .weekday() é um método (uma ação que calcula o dia da semana a partir da data).

Você pode se aprofundar sobre esse conteúdo ainda mais observando a documentação do python sobre essa classe. Link:

Em caso de dúvidas, me coloco à disposição.

Grande abraço e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

A minha dúvida era mais no sentido de saber o porquê a classe datetime teria construída fazendo com que uma dessas características fosse um atributo e a outra um método, dado que na minha visão são informações de tipo bastante semelhante.