Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Bound Method sendo retornado pelas funções "mes_cadastro" e "dias_semana"

from datetime_validator.datetime_br import DateTimeBR


register = DateTimeBR()

print(register.register_moment)
print(register.register_month)
print(register.register_week)

Retorna a seguinte mensagem no Console:

2022-07-08 10:58:17.425025

<bound method DateTimeBR.register_month of <datetime_validator.datetime_br.DateTimeBR object at 0x00000265E482ED60>>

<bound method DateTimeBR.register_week of <datetime_validator.datetime_br.DateTimeBR object at 0x00000265E482ED60>>

Ou seja, o chamado do register_moment está correto, mas o dos outros dois prints está retornando o endereço de memória onde está localizada a Classe.

2 respostas
solução!

Olá Isco, tudo bem com você?

Na seguinte linha do código: print(register.register_moment) está acontecendo o acesso ao atributo register_moment do objeto register, esse atributo foi declarado no método inicializador, assim é retornado o valor salvo no atributo no momento da criação do objeto.

Já nas linhas seguintes, print(register.register_month) e print(register.register_week), está sendo feito a tentativa de acesso aos métodos do objeto.

Quando queremos acessar um método de um objeto será necessário fazermos o uso dos parênteses, para indicar que queremos chamar aquele método no objeto, como apresentado abaixo.

print(register.register_month())
print(register.register_week())

Resultado

julho
segunda

Código completo

from datetime_validator.datetime_br import DateTimeBR


register = DateTimeBR()

print(register.register_moment)
print(register.register_month())
print(register.register_week())

Resultado

2022-07-11 11:25:40.433053
julho
segunda

Em resumo temos que, se quisermos acessar um método devemos fazer o uso dos parênteses, caso não seja realizado o uso, será informado apenas o local de memória do método do objeto.

Fico à disposição em caso de dúvidas.

Abraços e bons estudos.

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

Resolvido! Obrigado Felippe!