vessels
@vessels
Ни черта не понял, но очень интересно!

Функция calculate_value()?

Добрый вечер, есть код:
def get_my_item():
    rv = cache.get('my-item')
    if rv is None:
        rv = calculate_value()
        cache.set('my-item', rv, timeout=5 * 60)
    return rv

В переменной rv лежит эта функция, что это за функция и что она из себя представляет? Tо при компиляции:
NameError: name 'calculate_value' is not defined.
  • Вопрос задан
  • 74 просмотра
Пригласить эксперта
Ответы на вопрос 1
amarao
@amarao
`calculate_value()` со скобками - это вызов функции, а не использование функции как значения. В rv попадает то, что возвращает функция `calculate_value`. Что именно эта функция делает и что она возвращает можно понять одним из двух способов: 1) посмотреть на её исходный текст 2) в отладчике (например, pdb) дойти до этого места и сделать интроспекцию для `rv`, команды: dir(rv), type(rv), help(rv).

По поводу NameError - это означает, что функция не найдена. Она должна быть либо импортирована из модуля, либо написана, либо сконструирована динамически где-то в программе до первого своего вызова.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы