гинеколог отечественного веб-дизайна (ao_mmm) wrote,
гинеколог отечественного веб-дизайна
ao_mmm

Убираем лишнее с прохода

Дано:
def is_english(s):
    return re.compile('^[a-zA-Z\s]*$', re.IGNORECASE).match(s)
compile выполняется каждый раз при вызове. Это плохо. Давайте, сделаем, чтобы было 1 раз:
_english_pattern = re.compile('^[a-zA-Z\s]*$', re.IGNORECASE)
def is_english(s):
    return _english_pattern.match(s)
Теперь всё один раз, но появилась временная переменная, кода стало больше... Ещё мы видим, что функция просто делает проброску к другой функции. А зачем нам лишний кузнец? Итого:
is_english = re.compile('^[a-zA-Z\s]*$', re.IGNORECASE).match
Tags: python
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 0 comments