Para essa resposta estar correta, não deveria estar sendo declarado também o parâmetro do contador?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Para essa resposta estar correta, não deveria estar sendo declarado também o parâmetro do contador?
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?
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!