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

declaração do contador

Para essa resposta estar correta, não deveria estar sendo declarado também o parâmetro do contador?

4 respostas

Oi, Emanuel.

Não sei se entendi bem sua pergunta, mas o contador, aqui, é uma variável. Ele já está definido no método init como 0. No método incrementa, só é feito o incremento (adicionado +1) à variável. E como é uma variável, não um método, ela não teria parâmetro. Espero ter explicado. Abraço.

Ainda não entendi.

Assim como foi feito na classe de conta, achei que deveríamos declarar o parâmetro, quando fosse criada a função init.

class Jogo:
        def __init__(self, contador):
            self.contador = 0

        def incrementa(self):
            self.contador+=1

Consegui explicar melhor a minha dúvida?

solução!

Acho que agora caiu a ficha do que você quis dizer, Emanuel.

Da forma como você sugeriu, no entanto, toda a vez que a classe Jogo fosse instanciada, seria preciso informar o valor para contador, o que não adiantaria de nada, porque, logo na primeira linha de init, contador é zerado. É possível ter variáveis dentro das funções que não sejam instanciadas inicialmente por parâmetro.

Agora ficou claro, obrigado Daniel!