cara, eu nao entendi 100% @classmethod, @property, @abstractmethod, e tem ainda @staticmethod.
A minha duvida é qual situaçao devo usar, ou nao. Para que serve em um caso, ou nao.
por exemplo, usando pela aula do Restaurante e talz, tem @classmethod, e pq tem a necessidade de usar isso? que momentos devo usar isso? o que ela muda o def?
entao o property, eu nao sei se eu entendi muito bem, eu acredito que declara aquela informaçao apenas como ler, mas ainda assim eu nao entendi, o que ela proibe ou permite, ou devo sempre usar?
e no caso do staticmathod ainda nao cheguei na aula, entao ok
abstractmethod, novamente, o que ele diferencia? pq precisa? O que impede de colocar apesar def adicionar_desconto sem precisar deste metodo?