1
resposta

[Sugestão] abstractmethod está obsoleto em algumas versoes do python

sujestao para melhorar o metodo abstrato, caso esteja obsoleto na sua versao do python

from abc import ABC, abstractmethod

class ItemCardapio(ABC):
    def __init__(self, nome, preco):
        self._nome = nome
        self._preco = preco

    @classmethod
    @abstractmethod
    def aplicar_desconto(cls):
        pass
1 resposta

Uma excelente dica!

Só para esclarecer quem está obsoleto é o abstractclassmethod, que é o que a sua implementação resolve, o abstractmethod continua como a maneira correta para métodos abstratos, inclusive é utilizado nessa nova sintaxe para métodos de classe abstratos. O abstractstaticmethod também está obsoleto e deve ser substituído tal qual o abstractclassmethod por

@staticmethod
@abstractmethod
def método_abstrato():
    pass