В каких контекстах полезно реализовать новые команды, такие как возможный ignored [Excepions]
, а не определять их как функции?Функции Python vs Реализация команды Cpython
'игнорируется' contextmanager:
import contextlib
@contextlib.contextmanager
def ignored(*exceptions):
try:
yield
except exceptions:
pass
Использование:
with ignored(IndexError, KeyError):
## inside code here
Возможная альтернатива:
ignored IndexError, KeyError:
## inside code here
Как вы собираетесь реализовать альтернативу? Планируете ли вы обновить парсер python? – tdelaney
@tdelaney Да, я хотел бы узнать ваше мнение о преимуществах и недостатках ... – JumpAlways
Слишком сильная работа с парсером python сложна, а затем вы получаете нестандартный интерпретатор, который, вероятно, будет иметь мало понимания. Помимо игрушечной реализации, которую вы используете на практике, я не вижу никакой пользы от ее выполнения. Если вам нравится вызов, идите на это, но я бы не назвал это полезным для других! – tdelaney