Зачем использовать 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 на предмет актуальности документации. В вашем реальном приложении вы вообще не будете использовать такие утверждения.

Другие вопросы по тегам