Зачем использовать assert при сохранении новой записи в MotorEngine Tornado?
Просто интересно, какой смысл использовать Assert в обратном вызове в MotorEngine при создании новой записи. Я не получаю это, и документация не ясна. Какова цель сказать, что сотрудника зовут Бернардо в обратном вызове? Вы даже не передаете значение в функцию...
MotorEngine - это асинхронный ORM для Tornado и MongoDB. https://motorengine.readthedocs.org/en/latest/getting-started.html
Большое спасибо!
def create_employee():
emp = Employee(first_name="Bernardo", last_name="Heynemann", employee_id=1532)
emp.save(handle_employee_saved)
def handle_employee_saved(emp):
try:
assert emp is not None
assert emp.employee_id == 1532
finally:
io_loop.stop()
io_loop.add_timeout(1, create_employee)
io_loop.start()
1 ответ
Решение
Я считаю, что документация использует эти утверждения как способ показать вам, какие значения получены обратным вызовом. Это могло бы так же легко иметь комментарий:
# emp is an object with employee_id of 1532
... но утверждения также проверяются doctest на предмет актуальности документации. В вашем реальном приложении вы вообще не будете использовать такие утверждения.