1
resposta

Daria para juntar no property o dar_like?

class Filme: def init(self, nome, ano, duracao): self.nome = nome.title() self.ano = ano self.duracao = duracao self.likes = 0

@property
def likes(self):
     return self.__likes

def dar_like(self):
    self.__likes += 1

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

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

class Serie: def init(self, nome, ano, temporadas): self.nome = nome.title() self.ano = ano self.temporadas = temporadas self.likes = 0

@property
def likes(self):
     return self.__likes

def dar_like(self):
    self.__likes += 1

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

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

vingadores = Filme('vingadores - guerra infinita', 2018, 160) vingadores.dar_like() print(f'Nome: {vingadores.nome} - Ano: {vingadores.ano} - Duração: {vingadores.duracao} - Likes: {vingadores.likes}')

atlanta = Serie('atlanta', 2018, 2) atlanta.dar_like() atlanta.dar_like() print(f'Nome: {atlanta.nome} - Ano: {atlanta.ano} - Temporadas: {atlanta.temporadas} - Likes: {atlanta.likes}')

1 resposta

Oi Luiz!

Você pode sim fazer isso, mas não faria muito sentido na perspectiva lógica do programa, pois o @property serve para retornar o valor. Se você juntar o @property com a função dar_likes(), todas vez que você chamar vai aumentar um like e retornar o valor dos likes, e não necessariamente você vai querer fazer os dois ao mesmo tempo