Сейчас изучаю simpy
библиотеку python. Не могли бы вы объяснить мне, почему bitwise-or
используется в этом примере. Почему мы не можем использовать простой оператор or
.
results = yield req | env.timeout(patience)
Сейчас изучаю simpy
библиотеку python. Не могли бы вы объяснить мне, почему bitwise-or
используется в этом примере. Почему мы не можем использовать простой оператор or
.
results = yield req | env.timeout(patience)
Из документации SimPy по основным типам событий.
Этот класс также реализует и() (&) и или() (|). Если вы объединяете два события с помощью одного из этих операторов, генерируется событие Condition, которое позволяет вам ожидать обоих или одного из них.
Это означает, что req
и env.timeout(patience)
оба являются событиями, и мы получим первое из них. т.е.
results = yield (req | env.timeout(patience))
Чтобы ответить на ваш первоначальный вопрос, похоже, что вместо этого вы можете использовать or
, но это может не сделать то, что на самом деле происходит, более ясным и привести к ошибкам редактирования, если предположить, что это обычный старый or
.
&
и |
, но не ключевые слова and
и or
.
- person Stefan Scherfke; 17.03.2016