Что делает “оцененный только, после того как” означают для цепочечных сравнений в Python?

Только помогает, есть ли у Вас управляемый ресурсом проект.

, Например, рассмотрите это:

необходимо нарисовать большой плакат, сказать 4 на 6 метров. Плакат, настолько большой, можно, вероятно, поместить двух или трех человек перед ним, и сделать, чтобы они нарисовали параллельно. Однако размещение 20 человек перед ним не будет работать. Кроме того, Вам будут нужны квалифицированные люди, если Вы не захотите дрянной плакат.

Однако, если Ваш проект состоит в том, чтобы наполнить конверты готово распечатанными буквами (как Вы, ВОЗМОЖНО, победили! ) тогда, чем больше людей Вы добавляете, тем быстрее это идет. Существуют немного служебные в скупо выдавании стопок работы, таким образом, Вы не можете извлечь пользу до точки, где у Вас есть один PR человека. конверт, но можно извлечь пользу из намного больше, чем всего 2 или 3 человека.

Поэтому, если Ваш проект может легко быть разделен на маленькие блоки, и если члены команды могут войти в курс дела быстро (как... мгновенно), то добавление большего количества людей заставит его пойти быстрее в какой-то степени.

К сожалению, не много проектов похожи на это в нашем мире, который является, почему подсказка docgnome о Мифической книге Месяца Человека является действительно хорошим советом.

19
задан Air 5 May 2014 в 21:07
поделиться

2 ответа

«Выражение» y вычисляется один раз. То есть в следующем выражении функция выполняется только один раз.

>>> def five():
...    print 'returning 5'
...    return 5
... 
>>> 1 < five() <= 5
returning 5
True

В отличие от:

>>> 1 < five() and five() <= 5
returning 5
returning 5
True
44
ответ дан 30 November 2019 в 02:33
поделиться

В контексте оцениваемого y, y подразумевается как произвольное выражение это может иметь побочные эффекты. Например:

class Foo(object):
    @property
    def complain(self):
        print("Evaluated!")
        return 2

f = Foo()
print(1 < f.complain < 3) # Prints evaluated once
print(1 < f.complain and f.complain < 3)  # Prints evaluated twice
8
ответ дан 30 November 2019 в 02:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: