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.
  • Вопрос задан
  • 71 просмотр
Пригласить эксперта
Ответы на вопрос 1
amarao
@amarao
`calculate_value()` со скобками - это вызов функции, а не использование функции как значения. В rv попадает то, что возвращает функция `calculate_value`. Что именно эта функция делает и что она возвращает можно понять одним из двух способов: 1) посмотреть на её исходный текст 2) в отладчике (например, pdb) дойти до этого места и сделать интроспекцию для `rv`, команды: dir(rv), type(rv), help(rv).

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

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

Войти через центр авторизации
Похожие вопросы
ZClick Москва
от 50 000 до 200 000 руб.
Protoplan Краснодар
от 80 000 до 150 000 руб.