Создание декоратора Memoize на Python с использованием кешаPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Создание декоратора Memoize на Python с использованием кеша

Сообщение Anonymous »

Я использую курс Datacamp, чтобы узнать о декораторах, и признаю, что я довольно новичок в теме кэшей.
Что меня затруднило, так это то, что я следую " example» на их курсе, и он выдает ошибку в блокноте Jupyter, хотя она точно такая же, как и на их курсе:

Код: Выделить всё

def memoize(func):
'''Store the results of the decorated function for fast look up'''
#Store results in a dict that maps arguments to results
cache = {}
#As usual, create the wrapper to create the newly decorated function
def wrapper(*args, **kwargs):
# If these arguments havent been seen before...
if (args, kwargs) not in cache:
#Call func() and store the result.
cache[(args, kwargs)] =func(*args, **kwargs)
#Now we can look them up quickly
return cache[(args, kwargs)]

return wrapper
Я использую декоратор со следующей функцией:

Код: Выделить всё

@memoize
def slow_function(a,b):
print('Sleeping...')
time.sleep(5)
return a+b

Ошибка нехешируемого типа dict. Если бы кто-нибудь мог объяснить причину этой ошибки, я был бы очень признателен.
Заранее спасибо.

Подробнее здесь: https://stackoverflow.com/questions/650 ... sing-cache
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Создание декоратора Memoize на Python с использованием кеша
    Anonymous » » в форуме Python
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Когда использовать фабрику декоратора и декоратора?
    Anonymous » » в форуме Python
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Когда использовать фабрику декоратора и декоратора?
    Anonymous » » в форуме Python
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Memoize на диск — python — постоянное запоминание
    Гость » » в форуме Python
    0 Ответы
    15 Просмотры
    Последнее сообщение Гость
  • Memoize на диск — Python — постоянное запоминание
    Anonymous » » в форуме Python
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»