首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >requests.get()的响应是否使用相同的内存,还是每次在python中分配新的内存?

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

Stack Overflow用户
提问于 2015-02-11 15:06:10
回答 2查看 53关注 0票数 0

我使用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))。这似乎是相当不必要的,所以我选择问这个问题,以确保它没有必要这样做。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-11 15:19:12

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

所以如果你做这样的事

代码语言:javascript
代码运行次数:0
运行
复制
dict[a] = requests.get(url1)
dict[b] = requests.get(url2)

您不必担心dicta会神奇地改变以包含来自url2的响应。但当然

代码语言:javascript
代码运行次数:0
运行
复制
dict[a] = requests.get(url1)
dict[a] = requests.get(url2)

会导致格言的改变。

票数 0
EN

Stack Overflow用户

发布于 2015-02-11 15:14:19

字典不被重复使用:

代码语言:javascript
代码运行次数:0
运行
复制
>>> url = 'http://google.com'
>>> requests.get(url) is requests.get(url)
False
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28457615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档