来自 requests.get() 的响应是否使用相同的内存或每次在 python 中分配新内存?

Does response from requests.get() use the same memory or allocates new memory each time in python?

我使用 dict_a['response'] = requests.get(given_url) 使用请求模块以给定的频率从某个网站获取数据。 返回的response(requests.get(given_url))是json字典对应的对象,后面会用到

requests.get(given_url) 的响应是使用相同的内存还是在 python 中每次都分配新的内存? 如果以后是这种情况,则 dict_a['response'] 可能会更改,恕不另行通知。 恐怕会发生这种情况,我每次都使用 dict_a['response'] = copy.deepcopy(requests.get(given_url)) 。 好像没必要,所以我选择问这个问题,以确保没有必要这样做。

字典未被重复使用:

>>> url = 'http://google.com'
>>> requests.get(url) is requests.get(url)
False

Requests.get是一种方法。排除涉及全局变量(请求不使用)的异常情况,方法级变量在每次调用方法时被唯一绑定。一旦方法 returns,返回的对象将绑定到您分配给它的任何名称。

所以如果你做类似的事情

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] 改变。