来自 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] 改变。
我使用 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] 改变。