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

Indicar que destino é uma Conta

Não tem como indicar que destino é um objeto da classe Conta para que o autocomplete funcione dentro do método transfere()?

4 respostas

Oii Franco, como você está?

Se você estiver utilizando o Python Console dentro do PyCharm, para o autocomplete funcionar basta apertar a tecla TAB, veja:

Autocomplete com a tecla tab no Python Console

Mas, caso você não tenha digitado nada e queira sugestões, você pode apertar a tecla CTRL seguido da tecla espaço para que o sistema te apresente opções:

Opções de sugestões ao apertar a tecla control + espaço

Qualquer dúvida estou por aqui, a gente vai se falando.

Abraços e bons estudos!

Na verdade, o que eu queria era dentro do método transfere() ao digitar 'destino' seguido de ponto, aparecessem todos os métodos da classe Conta. Talvez se fizer assim, funcione:

def transfere(valor, destino = Conta(0, '', 0.0, 0.0)):

assim, ao digitar "destino.", espero que apareça janela de autocomplete com os métodos de Conta.

solução!

Oii Franco, compreendi a sua necessidade. Podemos utilizar o recurso de type-hints para dizer qual tipo aquela variável espera. Por exemplo, se temos uma variável que receberá um inteiro, podemos utilizar a seguinte abordagem:

numero: int = 10

Vale ressaltar que é apenas uma dica de tipo, pois mesmo dizendo explicitamente que a variável espera receber um inteiro, podemos passar outros tipos a ela, ou seja, não há um bloqueio de tipo, apenas uma indicação de qual tipo se deve passar.

Para o caso em específico do método "transfere", poderemos fazer da seguinte maneira:

def transfere(self, valor, destino: 'Conta'):
    self.saca(valor)
    destino.deposita(valor)

Observe que utilizamos o recurso de type-hints para indicar que o "destino" espera receber o tipo Conta. Nesse caso em especial, é necessário que o tipo esteja entre aspas simples porque o método "transfere" se encontra dentro da própria classe "Conta", então para auto referenciá-la, utilizamos as aspas.

Abaixo, uma imagem do autocomplete para a variável destino:

Autocomplete com o uso de type-hints

Qualquer dúvida estou por aqui.

Grande abraço!

Perfeito!