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

Por que para chamar "titular", não se usa ()?

Quando eu chamo conta.extrato(), conta.limite() etc, uso (), mas ao chamar conta.titular(), dá erro. Porque excepcionalmente para chamar o titular não uso parênteses? O erro no console diz "string objeto não é exigível", ou seja, para string não precisa usar parênteses?

1 resposta
solução!

Olá Eduardo, tudo bem?

Na verdade, o uso de parênteses ou não ao chamar um método depende da implementação desse método na classe.

No exemplo que você citou, é possível que o método "titular" não seja um método, mas sim um atributo da classe "Conta", do tipo string. Por isso, ao tentar chamá-lo com parênteses, o Python retorna o erro indicando que uma string não é um objeto exigível (ou seja, não pode ser chamado como uma função).

Já os outros métodos que você mencionou, como "extrato" e "limite", provavelmente foram implementados como métodos da classe, ou seja, funções que realizam uma ação específica quando chamados a partir de um objeto dessa classe.

Espero que isso ajude! Se tiver outras dúvidas, fique à vontade para perguntar.