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

Duvida sobre o exemplo

class Livro:
    def __init__(self, titulo='', autor='', paginas=0):
        self.titulo = titulo
        self.autor = autor
        self.paginas = paginas

    def __str__(self):
        return f'{self.titulo} por {self.autor} - {self.paginas} páginas'

    @property
    def titulo_autor(self):
        return f'{self.titulo} por {self.autor}'

    def aumentar_paginas(self, quantidade):
        self.paginas += quantidade

Eu não entendi a função desse "titulo_autor(self)". Na verdade até entendi, mas nao sei como chama-lo, como aparecer esse return no terminal.

Desde ja muito obrigado

1 resposta
solução!

Quando vc usa @property, ele vai transformar a função num atributo da classe. Ou seja, não precisa incluir os parênteses no final ao usar.

Quando vc instanciar um livro, vc pode simplesmente chamar dessa forma:

novoLivro = Livro('Meu Livro', 'Fulano', 150)

print(novoLivro.titulo_autor)

Isso aí vai te devolver o titulo e o autor concatenados. No caso: Meu Livro por Fulano

OBS: Se não tivesse a anotação property, seria:

print(novoLivro.titulo_autor())