При определении интерфейсов в Python с помощью азбука ABC
Metaclass, иногда становится довольно раздражающим, иметь так много пустых методов, ожидая, чтобы их заполнили.
import abc class Requester(abc.ABC): @abc.abstractmethod def get(self, endpoint:str) -> Response: """Sends a GET request.""" pass @abc.abstractmethod def post(self, endpoint:str, params:dict) -> Response: """Makes a POST request.""" pass
Все эти использование Пасс
Всегда чувствовал себя довольно уродливым для меня, и, к счастью, есть решение!
Потому что Docstrings – это просто строковое выражение в начале функции – Вы можете просто отпустить пас!
import abc class Requester(abc.ABC): @abc.abstractmethod def get(self, url:str, url_params:dict) -> Response: """Sends a GET request.""" @abc.abstractmethod def post(self, url:str, url_params:dict) -> Response: """Makes a POST request."""
Теперь разве это не намного лучше?
Оригинал: “https://dev.to/tadaboody/tiny-python-docstring-tip-5f2k”