python背诵技巧_python如何记忆方法

回忆录的目的是保存一个执行成本很高的操作的结果,以便可以提供第二次、第三次等时间,而不必重复该操作并反复产生费用。在

记忆通常应用于(a)执行昂贵操作的函数,(b)给定相同参数时总是产生相同的结果,(c)对程序状态没有副作用的函数。在

记忆通常是在这样一个函数中通过“保存”结果以及产生结果的参数值来实现的。这是缓存一般概念的一种特殊形式。每次调用函数时,函数都会检查其memo缓存,看是否已经确定了适合当前参数值的结果。如果缓存包含结果,则无需重新计算即可返回结果。在

您的函数似乎是要在每次调用时创建一个新dict。似乎没有一种明智的方法来记住这个函数:您总是希望将一个新的dict返回给调用者,这样它对它接收到的dict的使用不会干扰对该函数的其他调用。在

我可以使用memorizing可视化的唯一方法是:(1)将一个或多个值放入结果中的计算很昂贵(在这种情况下,我可能会定义一个计算该值的函数并记住该函数)或(2)newDict函数旨在返回给定特定值的相同值集合一组参数值。在后一种情况下,我不会使用dict,而是使用一个不可修改的对象(例如,像dict这样的类,但是有防止修改其内容的保护)。在

关于你的子问题,你需要问的问题是(1)newDict被适当调用的次数,(2)每次执行newDict的执行时间是否可以减少。这是两个独立的独立问题,需要酌情单独解决。在

顺便说一句,你的函数定义中有一个错别字,return关键字和左大括号之间不应该有'd'。在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值