我使用dict_a['response'] = requests.get(given_url)
使用模块化请求以某个频率从某个网站获取数据。
返回的响应(requests.get(given_url)
)是与字典相对应的json对象,稍后会使用。
来自requests.get(given_url)的响应是否使用相同的内存或每次在python中分配新的内存?
如果以后是这种情况,则可以更改dict_a ['响应'],恕不另行通知。
我担心会出现这种情况,每次都使用dict_a['response'] = copy.deepcopy(requests.get(given_url))
。
这似乎是不必要的,所以我选择提出这个问题,以确保它没有必要这样做。
答案 0 :(得分:2)
字典不会被重复使用:
>>> url = 'http://google.com'
>>> requests.get(url) is requests.get(url)
False
答案 1 :(得分:0)
Requests.get是一种方法。排除涉及全局变量的异常情况(请求不使用),方法级变量在每次调用方法时都是唯一绑定的。方法返回后,返回的对象将绑定到您为其指定的任何名称。
所以,如果你做了像
这样的事情dict[a] = requests.get(url1)
dict[b] = requests.get(url2)
你不必担心dict [a]会神奇地改变以包含来自url2的响应。但当然
dict[a] = requests.get(url1)
dict[a] = requests.get(url2)
会导致dict [a]改变。