繁体   English   中英

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

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

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

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

字典不重用:

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

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]发生变化。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM