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

Os classes não estão reagindo corretamente.

Eu, aparentemente, segui todos os passos do curso. Mas talvez eu tenha esquecido de algo e está retornando:

Traceback (most recent call last): File "C:\Users\Joao\Desktop\DataScience\1_python\3_python_oo2\modelo.py", line 41, in vingadores.dar_like() AttributeError: 'Filme' object has no attribute 'dar_like'

class Programa:
    def __init__(self, nome, ano):
        self._nome = nome.title()
        self.ano = ano
        self._like = 0

        @property
        def nome(self):
            return self._nome

        @property
        def like(self):
            return self._like

        @nome.setter
        def nome(self, novo_nome):
            self._nome = novo_nome.title()

        def dar_like(self):
            self._like += 1
class Filme(Programa):
    def __init__(self, nome, ano, duracao):
        self._nome = nome.title()
        self.ano = ano
        self.duracao = duracao
        self._like = 0
class Serie(Programa):
    def __init__(self, nome, ano, temporadas):
        self._nome = nome.title()
        self.ano = ano
        self.temporadas = temporadas
        self._like = 0
1 resposta
solução!

Olá, bom dia!

Parece um problema de indentação na classe Programa. As funções precisam estar no nível base da classe, e elas estão "dentro" de def __init__:

class Programa:
    def __init__(self, nome, ano):
        self._nome = nome.title()
        self.ano = ano
        self._like = 0

    # Voltei a indentação aqui.
    @property
    def nome(self):
        return self._nome
    ...

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software