Para essa resposta estar correta, não deveria estar sendo declarado também o parâmetro do contador?
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!